2010-09-26 58 views
1

我试图得到一些翻车使用jQuery工作。麻烦的是,图像源必须使用一些PHP代码。jQuery的翻转与一些PHP

如果我这样做,内嵌像这样用JavaScript它的工作原理:

<a href="<?php the_permalink(); ?>" 
    <?php $thumburl = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?> 
    onmouseover="document.roll<?php the_ID(); ?>.src='<?php thumbGen($thumburl,300,0,1,0,0); ?>'" 
    onmouseout="document.roll<?php the_ID(); ?>.src='<?php thumbGen($thumburl,300,0,1,0,1); ?>'" 
    <img src="<?php thumbGen($thumburl,300,0,1,0,1); ?>" name="roll<?php the_ID(); ?>"/> 
</a> 

$ thumburl变量是正是;特定缩略图的网址。该thumbgen位做一些大小和颜色转换。当他们在一起时,我给出了一个可以交换的w和彩色图像的URL。我使用的是WordPress,所以我必须使用php,而不是仅指定图像src,因为尺寸和颜色转换是为用户自动完成的。

第一个问题,在做内联代码这样坏?其次。由于php的缘故,我正在努力为翻滚编写一个jQuery函数。 我相信这会是这样:

$(document).ready(function() { 
    $('.project img').hover(
    funcation(){ 
    this.src = '<?php thumbGen($thumburl,300,0,1,0,1); ?>';}, 
    function(){ 
    this.src = '<?php thumbGen($thumburl,300,0,1,0,1); ?>';}); 

但我不知道在哪里有这样的: $ thumburl = wp_get_attachment_url(get_post_thumbnail_id($后> ID));

可你甚至结合在一个PHP和jQuery的?

感谢

+0

php是在服务器上执行的,所以php永远是第一个,所以你需要做的是用php代码回显一些东西(就像你在输入jQuery代码一样) – In81Vad0 2010-09-26 10:24:51

回答

0

可以简化PHP有点像这样:

<a href="<?php the_permalink(); ?>" 
    <?php $thumburl = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?> 
    <img src="<?php thumbGen($thumburl,300,0,1,0,1); ?>" data-hover="<?php thumbGen($thumburl,300,0,1,0,0); ?>" /> 
</a> 

然后做这样的事情在jQuery中,使用data attribute

$(function() { 
    $('.project img').each(function() { 
    $.data(this, 'orig', this.src); 
    }).hover(function() { 
    this.src = $(this).attr('data-hover'); 
    }, function() { 
    this.src = $.data(this, 'orig'); 
    }); 
}); 

这样做有什么商店原始src使用$.data()每个图像,然后在悬停我们抓住任何新的src属性,我们存储在data-hover(我们创建的一个数据属性),当鼠标悬停时,我们得到原始的src并恢复它。

+0

Hhhmmmm不工作。我不明白为什么它不是。我需要指定任何'orign'吗?该网站只是本地的,我会尝试并以其他方式向您展示。 – beetrootman 2010-09-26 10:41:57

+0

@beetrootman - 你可以发布你呈现的HTML是什么样的,也许在这样的小提琴? http://jsfiddle.net/nick_craver/Vvpum/ – 2010-09-26 10:44:33

+0

确定这里http://jsfiddle.net/Vvpum/2/ – beetrootman 2010-09-26 10:50:40