我希望创建一个悬停在效果上的JQuery页面。当它悬停在页面的左上象限时,必须用文本填充div,并在页面上填充其他三个象限的不同文本。
我是JQuery的新手,但我确实有某种编程背景,所以我知道如何浏览这种语言。我将使用css属性来更改div中的文本,因为它们将是不同的div,显示在同一位置(所以我将改变它们的可见性/显示)或者我应该更喜欢使用JQuery的.hide()
和.show()
方法?
我的主要问题是,如何设置页面,以便当鼠标位于屏幕的左上象限,右上象限,左下象限或右下象限时,JQuery会选中?
提前致谢,我们将非常感谢任何建议。
答案 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
<强>更新强>
但是,如果你想用jquery做这个,你需要使用$('.mainMenu').hover(function hoverIn(), function hoverOut())
。然后在每个函数参数中,您需要更改样式属性以将显示值更改为none
(hiden)或block
(可见)