当鼠标指针进入并离开元素时,我想在Web浏览器中间创建一个弹出窗口。弹出窗口显示我提供的图像。
我应该如何在Jquery中实现它?或者有任何好的插件可以做到吗?
由于
答案 0 :(得分:0)
尝试使用jQuery UI对话框。
答案 1 :(得分:0)
这很简单,你可以这样做:
$('.hovered_element').mouseenter(function() {
// you can use some plugin here, or just a simple .show()
$('.popup_element').show();
//if you want popup to fade in
//$('.popup_element').fadein(600);
});
$('.hovered_element').mouseleave(function() {
// again: any js plugin method, or just .hide()
$('.popup_element').hide();
//if you want popup to fade out
//$('.popup_element').fadeout(600);
});
当然,您需要为.popup_element
设置样式,使其显示在中心或您喜欢的任何位置。
答案 2 :(得分:0)
由于您不熟悉编码,我建议使用jQuery团队的jQueryUI库 - 其中包含.dialog()
功能(他们称之为" widget")。以下是它的工作原理:
(1)在<head></head>
标记中包含jQuery 和 jQueryUI库。请注意,您还必须为jQueryUI包含适当的CSS主题库(或者对话框将不可见):
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/flick/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
(2)在HTML中创建一个空div,并将其初始化为对话框:
HTML:
<div id="myDlg"></div>
jquery的:
$('#myDlg').dialog({
autoOpen:false,
modal:true,
width: 500,
height: 'auto'
});
(3)然后,当您准备好显示对话框时,在打开对话框之前将新数据插入myDlg
div:
$('#myDlg').html('<div>This will display in the dialog</div>');
$('#myDlg').dialog('open');
请注意,您可以在html()
方法中添加任何HTML,包括图片。
上面的代码允许您更改对话框的内容,并且每次都使用重新相同的对话框DIV。
以下是工作示例的样子:
<强> HTML:强>
<div id="myDlg"></div>
<div id="questiona" class="allques">
<div class="question">What is 2 + 2?</div>
<div class="answer">4</div>
</div>
<div id="questionb" class="allques">
<div class="question">What is the 12th Imam?</div>
<div class="answer">The totally wacky reason why Iran wants a nuclear bomb.</div>
</div>
<强> jQuery的:强>
var que,ans;
$('#myDlg').dialog({
autoOpen:false,
modal:true,
width: 500,
height: 'auto',
buttons: {
"See Answer": function(){
$('#myDlg').html(ans);
$('.ui-dialog-buttonset').next('button').hide();
},
"Close": function(){
$('#myDlg').html('').dialog('close');
}
}
});
$('.allques').hover(
function(){
//hover-IN
que = $(this).find('.question').html();
ans = $(this).find('.answer').html();
$('#myDlg').html(que).dialog('open');
},
function(){
//hover-OUT -- do nothing
}
资源:
http://blog.nemikor.com/2009/04/08/basic-usage-of-the-jquery-ui-dialog/
jQuery UI Dialog Box - does not open after being closed
答案 3 :(得分:0)
将事件处理程序绑定到mouseout事件。有关详细信息,请参阅链接: http://api.jquery.com/mouseout/
解决问题的一种方法是创建一个div(它将保存你的弹出窗口)并使用hide和show jquery效果。