Javascript 在网站中实现PHP。如何为数据库中的每个id调用jquery函数?
以下是测试页面: 我正在尝试向mysql数据库表中的每个图像添加jquery函数。 以下是生成的代码:Javascript 在网站中实现PHP。如何为数据库中的每个id调用jquery函数?,javascript,jquery,html,Javascript,Jquery,Html,以下是测试页面: 我正在尝试向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/groza
<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>
这有点像
thumbnail('grozav')
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);
非常感谢
阅读此处的建议后,我将代码更改为:
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'))
缩略图(p.id);
编辑
问题解决了。
我使用了下面的jQuery代码来完成这项工作,看起来效果不错
$("div.thumb").each(function (){
var id = $(this).attr('id');
thumbnail(id);});
$("div.thumb").each(function() {
var id = $(this).attr('id');
thumbnail(id);
});
将函数应用于通过php创建的每个div。谢谢你们,伙计们 你的
缩略图函数是在$(document.ready(function(){
)中定义的。这意味着,在站点完全加载之前,浏览器不会知道缩略图()
。因此,当你的浏览器在你的div中偶然发现缩略图('img0');
,它不知道缩略图
是什么意思
您应该在定义缩略图之后调用缩略图
thumbnail('grozav')
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]未定义缩略图@http://grozav.com/test.php#portfolio:119
)-它将帮助您更快地发现错误。问题已解决。我使用了以下jQuery代码来完成这项工作,看起来效果不错
$("div.thumb").each(function (){
var id = $(this).attr('id');
thumbnail(id);});
$("div.thumb").each(function() {
var id = $(this).attr('id');
thumbnail(id);
});
将函数应用于通过php创建的每个div。谢谢大家!您需要向我们显示生成的HTML/JS,而不是php源代码。打开javascript控制台,查看是否显示任何错误。在chrome中,您可以通过单击view->developer->javascript控制台来完成此操作。在FireFox中,您可以在额外的窗口中找到此控制台某个地方的菜单。该函数应该做什么?在frefox中按CTRL+SHIFT+J打开JS控制台。@AlexG:您解决了问题吗?您的网站现在似乎可以正常工作了。还值得注意的是,只需调用缩略图('x')即可;
将不起作用,因为它将在加载DOM之前执行。@fuzzyDunlop:这是我第一段的陈述-只是没有使用“DOM”这个词,而是使用了$(文档)。准备好了…
;)。我应该收到一个结果,比如:缩略图('lifelovelies');这是缩略图('idfromdatabase')我怎样才能用你的函数做到这一点?@AlexG:只要使用上面的代码,并用这个替换你当前对缩略图的定义。每个
都有一个ID='idfromdatabase'和一个class='thumbnail'
。在最后两行中,我遍历了所有标记为缩略图的div,并调用缩略图(div.ID)
。并从代码中删除所有缩略图(xxx)
标记,因为它们不起作用。编辑:您的问题编辑得太多了,我的答案对您没有任何帮助。提示:删除缩略图中的“-thumb”,然后一切都会正常工作。