0

我希望创建一个具有悬停效果的 JQuery 页面。当它悬停在页面的左上象限时,一个 div 必须用文本填充,并且页面上其他三个象限的不同文本。

我是 JQuery 的新手,但我确实有某种编程背景,所以我知道如何浏览该语言。我将使用 css 属性来更改 div 中的文本,因为它们将是不同的 div,显示在同一位置(因此我将更改它们的可见性/显示)还是应该使用 JQuery.hide().show()方法?

我的主要问题是如何设置页面,以便当鼠标位于屏幕的左上象限、右上象限、左下象限或右下象限时,JQuery 可以拾取?

在此先感谢,任何建议将不胜感激。

4

2 回答 2

1

您可以绑定mousemove事件并将光标位置与窗口宽度和高度进行比较。像这样http://jsfiddle.net/tarabyte/DUJQ4

<div id="topleft" class="message">Top Left</div>
<div id="topright" class="message">Top Right</div>
<div id="bottomleft" class="message">Bottom Left</div>
<div id="bottomright" class="message">Bottom Right</div>

$(function(){
    var current; //will save current quadrant here
    $(document).mousemove(function(ev){
        var left = ev.pageX, top = ev.pageY, //cursor coordinats
            win = $(window),
            width = win.width(), height = win.height(), horizontal, vertical, id;

        horizontal = (left < width/2) ? "left": "right"; 
        vertical = (top < height/2) ? "top": "bottom";
        id = vertical + horizontal;
        if(id == current) { //not changed
            return;
        }
        current = id;
        $(".message").hide(); //hide all messages
        $("#" + id).show(); //show only one with corrent id.            
    });
})
于 2013-10-16T15:28:29.047 回答
0

如果您对运行您的网站的浏览器没有限制,我建议您css改用jquery

看这个例子

更新 但是,如果您想使用 jquery 执行此操作,您需要使用$('.mainMenu').hover(function hoverIn(), function hoverOut()). 然后在每个函数参数中,您需要更改样式属性以将显示值更改为none(隐藏)或block(可见)

看这个例子

于 2013-10-16T15:18:09.343 回答