jquery, .data() 悬停一个 div 并更改其他两个 div 上的内容和图像 div

标签 jquery html css

$(document).ready(function() {
    $("#MenuBar1 li").mouseover(function() {
        $("#back").attr("src", $(this).data("img"));
        $('.description').text($(this).data('description'));
    }).mouseout(function() { 
        $("#back").attr("src", $("#back").data("original"));
    });
});

HTML代码:

<div>
    <div style="width: 377px; position:relative; left: 395px;">
        <ul id="MenuBar1" class="MenuBarHorizontal">
            <div style="height:20px;">
                <li id="button1" data-img="http://http://demo/images/anne.jpg" width="357" height="241" border="0">
                    <a href="#">Anywhere</a>
                </li>
            </div>
            <div style="height:20px;">
                <li id="button2" data-img="http://demo/images/Banner.jpg">
                    <a href="#">ware</a>
                </li>
            </div>
            <div style="height:20px;">
                <li id="button3" data-img="http://demo/images/Banner.jpg">
                    <a href="#">Demand</a>
                </li>
            </div>
            <div style="height:20px;">
                <li id="button4" data-img="http:http://demo/images/Bans.jpg">
                    <a href="#">CM</a>
                </li>
            </div>
            <div style="height:20px;">
                <li id="button5" data-img="http://demo/images/eat.jpg">
                    <a href="#">Key</a>
                </li>
            </div>
            </a></li></div>
        </ul>
    </div>
    <div style="width: 357px; position: relative; top: -380px;" id="content"> 
        <img id="back"src="http://demo/images/Banner.jpg"data-original="http://demo/images/Banner.jpg" alt="e.s.t" /> 
    </div>
<div>
    <p>put text content here for each hover</p>
</div>

最佳答案

图像标签中的 HTML 格式不正确

<img id="back"src="http://demo/images/Banner.jpg"data-original="http://demo/images/Banner.jpg" alt="e.s.t" />

id 和数据属性之间缺少空格...

 <img id="back" src="http://demo/images/Banner.jpg" data-original="http://demo/images/Banner.jpg" alt="e.s.t" />

编辑

Check FIDDLE

我已将描述类添加到 div。

还在 li 标签中添加了 data-description 属性..

检查上面的例子..

已更新

   $(document).ready(function() {

        var defaultText  = '';
        $("#MenuBar1 li").mouseover(function() {
            $("#back").attr("src", $(this).data("img"));
            defaultText = $(".description").text();
            $(".description").text($(this).data("description"));
        }).mouseout(function() {
            $("#back").attr("src", $("#back").data("original"));
            $(".description").text(defaultText);
    });​

您正在尝试访问仅在第一个函数中具有作用域的 defaultText 变量。尝试在鼠标悬停事件之外声明它。您刚刚遇到了范围界定错误 :D ;

关于jquery, .data() 悬停一个 div 并更改其他两个 div 上的内容和图像 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667337/

相关文章:

javascript - 使用谷歌地图 API 和 phonegap 显示当前位置+方向?

javascript - 如何以编程方式更改 svg 视口(viewport)?

android - 没有构建应用程序的 Phonegap : Fast way of testing Camera-Functions,

javascript - 单击后悬停状态不起作用

html - 内容落后于固定导航栏,不会被推下

jquery - 如何在 MVC 中单击按钮时隐藏 Div

用于启用/禁用文本输入和添加/删除默认值的 jQuery 复选框

html - 将主题添加到 MVC 页面,找不到 css 文件

html - 在一个 div 内取 3 个 Divs

javascript - 精简 Javascript 代码和 css 代码的最佳应用