0

使用 jQuery,我创建了一个简单的灯箱,它在单击缩略图时加载图像。

我试图通过将缩略图 src 存储为从中加载主画廊图像的变量来使灯箱工作。但是,该变量需要删除 src 的“/thumbs”部分才能找到更大的图库图像。

我已经遵循了已经针对这个问题的变体给出的许多答案,但是我模拟结果的尝试似乎都没有奏效。

我已经做到了:

$("#attractions-dave li a").live("click", function showAttraction(e){

 var example = $(this).children('img').attr('src', $(this).children('img').attr('src').replace('/thumbs',''));      

});

作为参考,相关的html是:

<ul id="attractions-dave">
 <li>
  <a href="../attractions/attractions.php">
   <img src="../images/photos/bouncy-castles/thumbs/happyclown.jpg" alt="happy clown castle" />
  </a>
 </li>
</ul>

获得变量后,我将使用它来设置背景图像,使用以下代码:

$('#example').css('background-image', 'url(' + example + ')');

到目前为止,代码根本没有向元素添加任何背景 css。

我没有收到此代码的任何错误,但很明显变量(修改后的缩略图 src)没有被识别。

如果有人能看到我哪里出错了,那么任何帮助都将不胜感激。

4

2 回答 2

3

我认为您需要防止默认行为:

http://jsfiddle.net/eYJ7L/

$("#attractions-dave li a").live("click", function showAttraction(e) {
    e.preventDefault();
    var example = $(this).children('img').attr('src', $(this).children('img').attr('src').replace('/thumbs', ''));

});
于 2013-07-17T12:06:21.083 回答
2

example在您的代码中是一个 jQuery 对象。你需要做:

var example = $(this).children('img').attr('src').replace('/thumbs','');
于 2013-07-17T12:26:48.050 回答