Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在网站中实现PHP。如何为数据库中的每个id调用jquery函数?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在网站中实现PHP。如何为数据库中的每个id调用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

以下是测试页面:

我正在尝试向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>
这有点像

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”,然后一切都会正常工作。