使用JQuery替换ASP.NET中的图像url的一部分
问题描述:
我有一个脚本,它将图像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');" />`
你能帮我找到我为了适应网站地图导航而改变的部分代码吗?我的网站只能进入三层深度。
非常感谢,
詹姆斯。
答
好了,所以我就用'OReilly - Regular Expressions Cookbook'第41页“全字匹配”
下面的代码不看第二次数的帮助,但只是第一个解决方案,而在路径进一步期待。 。 (我认为)。我刚加入\/\bbar\b
。
var target = $$.css('background-image').replace(/^url|["]|\b(\w+)\s+\1\b|\/\bbar\b|[\)\(]/g, '');
希望这可以帮助任何遇到同样问题的人。
感谢您整理格式尼克:) – 2010-06-29 20:16:26