JQuery鼠标移到小图显示大图效果的方法
本文实例讲述了JQuery鼠标移到小图显示大图效果的方法。分享给大家供大家参考。具体分析如下:
这里的显示大图功能类似上一篇《JQuery实现超链接鼠标提示效果的方法》,稍微修改一下代码,就可以做出一个图片的提示效果。
参考前面的超链接提示效果的代码,只需要将创建的div元素的代码改为:
1
2
3
|
//创建 div 元素 图片提示
var
tooltip =
"<div id="
tooltip
"><img src="
"+ this.href +"
" alt="
预览图
"><\/div>"
;
</div>
|
当鼠标滑过图片后,显示就会有大图提示效果。为了使效果更为人性化,还需要为图片增加说明文字,即提示出来的大图片下面出现图片相应的介绍文字。
可以根据超链接的title属性值来获得图片相应的介绍文字,JQuery代码如下:
1
2
3
|
this
.myTitle =
this
.title;
this
.title =
""
;
var
imgTitle =
this
.myTitle?
"<br />"
+
this
.myTitle :
""
;
|
然后将它追加到div元素中,代码如下:
1
2
|
// 创建 div 元素
var
tooltip =
"<div id='tooltip'><img src='"
+
this
.href +
"' alt='产品预览图'/>"
+imgTitle+
"<\/div>"
;
|
在判断this.myTitle是否为""时,使用了三元运算。三元运算结构为:Boolean? 值1 : 值2。它的第1个参数必须为布尔值。当然三元运算也可以用“if(){ }else{ }”代替,例如:
1
2
3
4
5
6
|
var
imgTitle;
if
(
this
.myTitle) {
imgTitle =
"<br />"
+
this
.myTitle;
}
else
{
imgTitle =
""
;
}
|
这样,图片提示效果就完成了,当鼠标滑过图片时,图片会出现预览的大图,大图下面还会有介绍文字。
本例完整代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<script type=
"text/javascript"
>
//<![CDATA[
$(
function
(){
var
x = 10;
var
y = 20;
$(
"a.tooltip"
).mouseover(
function
(e){
this
.myTitle =
this
.title;
this
.title =
""
;
var
imgTitle =
this
.myTitle?
"<br/>"
+
this
.myTitle :
""
;
var
tooltip =
"<div id='tooltip'><img src='"
+
this
.href +
"' alt='预览图'/>"
+imgTitle+
"<\/div>"
;
//创建 div 元素
$(
"body"
).append(tooltip);
//把它追加到文档中
$(
"#tooltip"
)
.css({
"top"
: (e.pageY+y) +
"px"
,
"left"
: (e.pageX+x) +
"px"
}).show(
"fast"
);
//设置x坐标和y坐标,并且显示
}).mouseout(
function
(){
this
.title =
this
.myTitle;
$(
"#tooltip"
).remove();
//移除
}).mousemove(
function
(e){
$(
"#tooltip"
)
.css({
"top"
: (e.pageY+y) +
"px"
,
"left"
: (e.pageX+x) +
"px"
});
});
})
//]]>
</script>
|
希望本文所述对大家的jQuery程序设计有所帮助。