预览图像Jquery脚本don't运行良好
Preview Image Jquery Script don't runs well
我使用的Jquery脚本可以在鼠标悬停时预览图像,但我遇到的问题是,该脚本只在前两个图像中运行。
要访问我实现的web:http://81.35.152.41:8888/index.php/ca/dinamic/coleccions
我认为问题是因为我打印的是dejquery脚本中的html代码,因为我在jquery中使用Ajax和Json。
这是打印html代码的Jquery:
(function($) {
$(document).ready(function(){
id=$("#colecciochange option:first").val()
getcoleccions(id);
//getpuntosdeventa(1);
$("#colecciochange").change(function(){
getcoleccions($(this).val())
});
function getcoleccions(id)
{
$("ul.appends").empty()
$("div.descripcio").empty()
$.getJSON('<?php echo url_for('ajax/coleccio/?id=',true)?>'+id, function(data) {
$.each(data.items, function(key,val) {
//items.push('<p>' + val.nombre + ','+val.direccion + ','+val.ciutad +'</p>');
//$("ul.appends").append('<li><a href=' +val.foto_g + ' class="preview" title><img src='+val.foto_th +' alt="prova" /></a></li>');
$("#galeria").append('<li><a href="/1.jpg" id="1" class="preview"><img src="/1s.jpg" alt="gallery thumbnail" /></a></li>');
});
$("div.descripcio").append('<p>' +data.nom_coleccio + '</p>');
});
}
});
})(jQuery)
这是进行图像预览的脚本:
this.imagePreview = function(){
/* CONFIG */
xOffset = 10;
yOffset = 30;
// these 2 variable determine popup's distance from the cursor
// you might want to adjust to get the right result
/* END CONFIG */
console.log($(this).attr("id"));
$("a.preview").hover(function(e){
console.log($(this).attr("id"));
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>"); var id=($(this).attr("id"));
$("#preview")
.css("top",400 + "px")
.css("left",150 + "px")
.fadeIn("fast");
},
function(){
this.title = this.t;
$("#preview").remove();
});
/*$("a.preview").mousemove(function(e){
console.log($(this).attr("id"));
$("#preview")
.css("top",400 + "px")
.css("left",150 + "px")
});*/
$("a.preview").click(function(event) {
event.preventDefault();
//
});
};
$(document).ready(function(){
imagePreview();
});
问题出在什么时候?
感谢
问候
这是因为在元素插入页面之前,imagePreview函数正在运行,因此它们没有正确绑定。插入imagePreview();到$.getJSON回调函数中,就在这一行的正下方:
$("div.descripcio").append('<p>' +data.nom_coleccio + '</p>');
两件事:
- 当文档准备好时,
$("a.preview").hover(function(e){...}, function(e){...})
将影响DOM中的元素,而不是之后使用JavaScript添加到DOM中的那些元素。改为使用$("#galeria").on("mouseenter", "a.preview", function(e){...}
和$("#galeria").on("mouseleave", "a.preview", function(e){...}
- 您有具有相同id的HTML元素——id在整个HTML页面中应该是唯一的。这可能会导致问题,尤其是在IE中
相关文章:
- 如何在运行时使用javascript隐藏图像
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- 运行POST时显示图像
- 如何在MVC5中运行时在HTML5 Canvas中显示图像
- 无法使用javascript插件在首次运行时加载实际图像大小(图像在刷新后加载)
- 在多个元素上运行的函数插入多个图像
- 运行fancybox thumb时隐藏其他图像
- 加载图像后运行JS
- Bxslider预加载程序在没有图像的情况下以无限循环运行
- 检查运行到CORS的图像是否存在
- 如果光标在图像上在某种意义上不停止.它正在运行
- 带有谷歌地图和天气图像的网页只能在IE中运行,在Chrome中无效
- 在生产模式下运行时,图像不会显示在 yeoman 应用中
- 网页:当我在本地运行时出现某些图像,但在互联网上显示时会消失
- 运行一个函数,每次
到达窗口中间时更改图像
- 我的 jQuery 滑块运行良好,但存在错误,它有时不会在下次或上一次单击时显示图像
- 如何在浏览器中完成图像大小调整后运行功能?(JS/JQuery)
- 在页面加载时运行 Jquery 函数,而不是在图像单击时运行
- 在图像点击时运行Javascript
- 以一定的精度同时运行图像过渡和动画