好的,所以这就是我目前的地方...... 基本上我基于窗口宽度附加到URL的末尾(工作正常,使用drawNewUrl())。
在窗口调整大小页面重新加载应该删除我在URL末尾添加的附加属性('?url / suffix / example /')。 但是它根本不是删除urlAppend(使用jQuery(urlAppend).remove();),它会不断地将urlAppend添加到窗口调整大小的url的末尾。 (即:example.com/?url/suffix/example/1/?url/suffix/example/1/)。如何在调整大小时删除urlAppend并允许绘制新的URL?
var sum = price.split(/ *\+ */).reduce(function(a,v) { return +a + +v; });
答案 0 :(得分:0)
我会这样做,工作小提琴:https://jsfiddle.net/s22su/6wxmrebu/1/
var defaultUrl = 'hello.php';
function drawNewUrl() {
var urlAppend = '';
var w = jQuery(window).width();
console.log('Width: ', w);
switch(w) {
case 1200:
var urlAppend = '?url/suffix/example/3/';
break;
case 768:
var urlAppend = '?url/suffix/example/2/';
break;
default:
var urlAppend = '?url/suffix/example/1/';
}
var fullUrl = defaultUrl + urlAppend;
jQuery('.class').attr('href', fullUrl);
}
jQuery(window).resize(function() {
drawNewUrl();
});
jQuery(document).ready(function() {
drawNewUrl(); // for onload
});
答案 1 :(得分:0)
尝试我的解决方案,看看它是否适合您。我正在使用正则表达式有条件地将urlAppend
添加到href
属性。
var urlAppend;
function drawNewUrl() {
if (jQuery(window).width() > 1200) {
var urlAppend = '?url/suffix/example/3/';
} else if (jQuery(window).width() > 768) {
var urlAppend = '?url/suffix/example/2/';
} else {
var urlAppend = '?url/suffix/example/1/';
}
jQuery('.class').attr('href', function() {
return this.href.replace(/(\?url\/suffix\/example\/\d\/)?$/i, urlAppend);
});
}
jQuery(window).resize(function() {
drawNewUrl();
});
jQuery(document).ready(function() {
drawNewUrl(); // for onload
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a href="#" class="class">
Link 1
</a>
<a href="#" class="class">
Link 2
</a>
<a href="#" class="class">
Link 3
</a>
<a href="#" class="class">
Link 4
</a>