JQuery悬停在象限上

时间:2013-10-16 15:09:09

标签: javascript jquery html css

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

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

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

提前致谢,我们将非常感谢任何建议。

2 个答案:

答案 0 :(得分: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.            
    });
})

答案 1 :(得分:0)

如果您没有关于浏览器运行您网站的限制,我建议您使用css代替jquery

see this example

<强>更新 但是,如果你想用jquery做这个,你需要使用$('.mainMenu').hover(function hoverIn(), function hoverOut())。然后在每个函数参数中,您需要更改样式属性以将显示值更改为none(hiden)或block(可见)

See this example