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

时间:2012-10-01 03:53:23

标签: 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 code:

<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>

1 个答案:

答案 0 :(得分:0)

在图片代码

中看似格式错误的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标签..

检查上面的示例..

更新

   $(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变量,该变量仅在第一个函数中具有范围。尝试在mouseover事件之外声明它。您刚刚遇到了一个范围错误:D;