问题描述
|
我有一个列表,当某人将鼠标悬停在单个列表项上时,希望弹出其他信息(图形)。我以为可以在线找到答案,但是这种方法仅适用于
<li>
标记内的超链接...而且问题是我不想单击链接到该链接...只是有一个图像弹出窗口。没有链接。
有人知道怎么做吗?我可以修改我发现可以用于<li>
的脚本,但是它不能显示不同的图像...我可以插入固定图像,但不能让每个<li>
选择不同的图像。
感谢您的任何建议或帮助!
编辑:这是我正在尝试修改的当前Javascript,正是我想要的...仅针对链接,而不是LI元素:
(written by Alen Grakalic (http://cssglobe.com))
$(\"a.preview\").hover(function(e){
this.t = this.title;
this.title = \"\";
var c = (this.t != \"\") ? \"<br/>\" + this.t : \"\";
$(\"body\").append(\"<p id=\'preview\'><img src=\'\"+ this.href +\"\' alt=\'Image preview\' />\"+ c +\"</p>\");
$(\"#preview\")
.css(\"top\",(e.pageY - xOffset) + \"px\")
.css(\"left\",(e.pageX + yOffset) + \"px\")
.fadeIn(\"fast\");
},function(){
this.title = this.t;
$(\"#preview\").remove();
});
$(\"a.preview\").mousemove(function(e){
$(\"#preview\")
.css(\"top\",(e.pageX + yOffset) + \"px\");
});
};
$(document).ready(function(){
imagePreview();
});
解决方法
您可以向LI标签添加href(或其他命名的)属性,然后像这样访问图像的url(使用href属性的示例):
$(\"li.preview\").hover(function(e){
this.t = this.title;
this.title = \"\";
var c = (this.t != \"\") ? \"<br/>\" + this.t : \"\";
var $li = $(this);
$(\"body\").append(\"<p id=\'preview\'><img src=\'\"+ $li.attr(\"href\") +\"\' alt=\'Image preview\' />\"+ c +\"</p>\");
$(\"#preview\")
.css(\"top\",(e.pageY - xOffset) + \"px\")
.css(\"left\",(e.pageX + yOffset) + \"px\")
.fadeIn(\"fast\");
}