jQuery - window resize事件 - 在URL中添加和删除变量

时间:2016-08-01 05:22:44

标签: javascript jquery html

好的,所以这就是我目前的地方...... 基本上我基于窗口宽度附加到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; });

2 个答案:

答案 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>

相关问题