这是测试页面: http://grozav.com/test.php
我正在尝试从mysql数据库表中为每个图像添加一个jquery函数。 这是生成的代码:
<div class="thumb" id="grozav-thumb">
<a class="ajax" href="gallery/grozav.html">
<p class="work-type">MOTION GRAPHICS</p>
<img src="http://grozav.com/images/thumbs/grozav-bwthumb.jpg" alt=""/>
<img src="http://grozav.com/images/thumbs/grozav-thumb.jpg" alt="" class="color"/>
</a></div>
我需要一个函数,它使用类缩略图为每个div创建一个代码。结果应该是这样的:
* thumbnail()是一个函数
thumbnail('divid');
类似
thumbnail('grozav')
非常感谢!
在阅读完建议后,我已将代码更改为:
function thumbnail(param1){
$(param1).hover(
function() {
$(param1+' .color').hide().stop().fadeTo(500,'1');
},
function() {
$(param1+' .color').stop().fadeTo(500,'0');
}
) ;
};
for(var p in document.querySelectorAll('div.thumb'))
EDIT 问题解决了。 我使用以下jQuery代码来完成它,这似乎工作正常。
$("div.thumb").each(function (){
var id = $(this).attr('id');
thumbnail(id);});
将函数应用于通过php创建的每个div。无论如何,谢谢你们!
答案 0 :(得分:1)
您的thumbnail
功能已在$(document).ready(function(){
中定义。这意味着,在网站完全加载之前,浏览器不会知道thumbnail()
。因此,当您的浏览器在您的div中遇到<script>thumbnail('img0');</script>
时,它不知道这个thumbnail
意味着什么。
您应该在定义缩略图后立即调用缩略图。像
这样的东西function thumbnail(param1){
$('#'+param1+'-thumb').hover(
function() {
$('#'+param1+'-thumb .color').hide().stop().fadeTo(500,'1');
},
function() {
$('#'+param1+'-thumb .color').stop().fadeTo(500,'0');
}
) ;
};
for(var p in document.querySelectorAll('div.thumb'))
thumbnail(p.id);
也许在jQuery中有比这更好的解决方案,但这应该满足你的需求。
编辑:使用浏览器的错误控制台(本例中为[xx:xx:xx.xxx] thumbnail is not defined @ http://grozav.com/test.php#portfolio:119
) - 它可以帮助您更快地找到错误。
答案 1 :(得分:0)
问题解决了。我使用以下jQuery代码来完成它,这似乎工作正常。
$("div.thumb").each(function() {
var id = $(this).attr('id');
thumbnail(id);
});
将函数应用于通过php创建的每个div。无论如何,谢谢你们!