2010-06-29 55 views
0

我有一个脚本,它将图像url转换为路径,并且可以在主节点导航上正常工作以使图像淡入淡出。下面的脚本给我:使用JQuery替换ASP.NET中的图像url的一部分

http://localhost/Bar/App_Themes/main/images/Beers-Faded.gif 

一旦我浏览一个节点更深它增加了应用程序路径的url和函数失败:

http://localhost/bar/Bar/App_Themes/main/images/Beers-Faded.gif 

的jQuery:

$(function() { 
    $('img.fade').each(function() { 
    var $$ = $(this); 
    var target = $$.css('background-image').replace(/^url|["]|[\)\(]/g, ''); 
    $$.wrap('<span style="position:relative;"></span>') 
    .parent() // span elements 
    .prepend('<img>') 
    .find('img:first') // selector now new image 
    .attr('src', target); 
    console.log(target);  
    $$.css({ 
    'position': 'absolute', 
    'left': 0, 
    'top': this.offsetTop 
    }); 
    $$.hover(function() { 
    $$.stop().animate({ 
     opacity: 0 
    }, 250); 
    }, function() { 
    $$.stop().animate({ 
     opacity: 1 
    }, 250); 
    }); 
    }); 
}); 

图片:

<img class="fade" runat="server" src="~/App_Themes/main/images/Beers-Color.jpg" style="background-image: url('../Bar/App_Themes/main/images/Beers-Faded.gif');" />` 

你能帮我找到我为了适应网站地图导航而改变的部分代码吗?我的网站只能进入三层深度。

非常感谢,

詹姆斯。

+0

感谢您整理格式尼克:) – 2010-06-29 20:16:26

回答

0

好了,所以我就用'OReilly - Regular Expressions Cookbook'第41页“全字匹配”

下面的代码不看第二次数的帮助,但只是第一个解决方案,而在路径进一步期待。 。 (我认为)。我刚加入\/\bbar\b

var target = $$.css('background-image').replace(/^url|["]|\b(\w+)\s+\1\b|\/\bbar\b|[\)\(]/g, ''); 

希望这可以帮助任何遇到同样问题的人。