变量问题

时间:2010-09-30 16:20:08

标签: jquery

我正在编写一个简单的if/else语句来显示下一个或上一个链接,但不知怎的,我的检查不起作用。这是代码


var newPosition = currPosition;
$(".imageNavLink").click(function(event){
 event.preventDefault();
 newPosition = (this.rel == "next") ? newPosition + 1 : newPosition - 1;
 var newImageLink = this.title;
 var clickAction = this.rel;
 var newImage = new Image();
 $(newImage).load(function(){
  newWidth = this.width, newHeight = this.height+35;
  if(newPosition == totalItems){
   [.. Show 'previous' link ..]
  }else if(newPosition == 1){
   [.. Show 'next' link ..]
  }else{
   [.. Show 'previous' and 'next' link ..]
  }
 });
 newImage.src = this.title;
});
  • currPosition保持元素的当前位置(数字)与计数
  • 保持一致
  • totalItems是总关联图片的数值

如果我点击第一张图片我会不断看到上一张图片,当我从第二张图片开始时,我会不断看到这两个链接,当我从最后一张图片开始时,我会不断看到上一张图片。

2 个答案:

答案 0 :(得分:0)

我不知道是不是这样,但

newWidth = this.width, newHeight = this.height+35;

,之后的this.width不应该是;吗?

答案 1 :(得分:0)

 if(newPosition == totalItems){
   [.. Show 'previous' link ..]
  }else if(newPosition == 1){
   [.. Show 'next' link ..]
  }else{
   [.. Show 'previous' and 'next' link ..]
  }

改写为:

 if(newPosition>1 && newPosition<totalItems){
   [.. Show 'previous' and 'next' link ..]
  }else if(newPosition == 1){
   [.. Show 'next' link ..]
  }else if(newPosition == totalItems){
   [.. Show 'previous' link..]
  }

仅当newPosition介于1totalItems之间时,才会显示prevnext