【问题标题】:Previous image and next image is not working in jquery上一个图像和下一个图像在 jquery 中不起作用
【发布时间】:2015-10-21 04:47:10
【问题描述】:

我已经下载了这个代码,它正在工作,但是当我点击上一个和下一个图像时它不起作用,我不知道会做什么......$(“.pic img”).attr( "src", "images/这里我要下一张图片的 src 值");

<div class="img-box">
  <ul>
    <?php $query1="SELECT * FROM user_photos_offline" ; $sql=mysql_query($query1); $results=array(); while($row=mysql_fetch_assoc($sql)){ ?>
    <li>
      <img src="images/cropped-images/<?php echo $row['image']?>" />
      <div class="mask">
        <div class="mag">
          <div class="plus"></div>
        </div>
      </div>
    </li>
    <?php } ?>
  </ul>
</div>
<div class="full-screen-mask">
  <div class="view-port">
    <div class="pre">
      <span>-</span>
    </div>
    <div class="pic"><img /></div>
    <div class="next">
      <span>+</span>
    </div>

  </div>
  <div class="close">
    <span></span>
    <span></span>
  </div>
</div>


$(".img-box ul li").click(function() {
  var index = $(this).index();
  num = index + 1;
  var img = $(this).find('img').attr('src');
  var index = $(this).index();
  //next button function
  function next() {
    $(".pic img").attr("src", "images/"+num+".png");
  }
  $(".next").click(next);
});



//preview button function
function pre(){ 
    $(".pic img").attr("src","images/pic-"+num+".png");
    num--;
    if(num==0){
        num=8
    }
}


 $(".pre").click(pre);


//next button function
function next(){ 
$(".pic img").attr("src","images/pic-"+num+".png");
num++;
if(num==9){
num=1
    }
}
 $(".next").click(next);

【问题讨论】:

  • 能不能分享一下生成的html
  • 我已经共享了类名 view-port 检查一个兄弟...

标签: jquery html


【解决方案1】:

更新

num = 1;
$(".img-box ul li").click(function() {
  num = $(this).index(); 
  next(); // if you want change pic on click li event
});

$(".next").click(function(){
    next();
});

$(".pre").click(function(){
    pre();
});

//preview button function
function pre(){ 
    //if your src contain all data url
    $(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src')); // else if not contain all data url $(".pic img").attr("src","images/pic-"+$('.img-box ul li').eq(num).find('img').attr('src')+".png");

    num--;
    if(num==0){
        num=8
    }
}

//next button function
function next(){ 
    $(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src'));
    num++;
    if(num==9){
        num=1
    }
}

更新 3

$(document).ready(function() {
    num = 0;
    $(".img-box ul li").click(function() {
        num = $(this).index(); 
    });

    $(".next").click(function(){
        next();
    });

    $(".pre").click(function(){
        pre();
    });

    //preview button function
    function pre(){ 
        //if your src contain all data url
        if(num==0){
            num=8
        }else{
            num--;
        }
        $(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src')); // else if not contain all data url $(".pic img").attr("src","images/pic-"+$('.img-box ul li').eq(num).find('img').attr('src')+".png");
    }

    //next button function
    function next(){ 

        if(num==9){
            num=0
        }else{
            num++;
        }
        $(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src'));
    }
});

请看。如果单击所有链接,则 num 是正确的。我认为是你的 php 函数或者你的图像 id 不正确。

$(document).ready(function() {
  num = 0;
    $(".img-box ul li").click(function() {
        num = $(this).index(); 
		alert(num)
    });

    $(".next").click(function(){
        next();
    });

    $(".pre").click(function(){
        pre();
    });

    //preview button function
    function pre(){ 
        //if your src contain all data url
        if(num==0){
            num=8
        }else{
            num--;
        }
		alert(num)
        //$(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src')); // else if not contain all data url $(".pic img").attr("src","images/pic-"+$('.img-box ul li').eq(num).find('img').attr('src')+".png");
    }

    //next button function
    function next(){ 

        if(num==9){
            num=0
        }else{
            num++;
        }
		alert(num)
        //$(".pic img").attr("src",$('.img-box ul li').eq(num).find('img').attr('src'));
    }
});
body, html{
	cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="img-box">
		  <ul>
			<li>
			  <div class="mask">
				<div class="mag">
				  <div class="plus">index 0</div>
				</div>
			  </div>
			</li>
			<li>
			  <div class="mask">
				<div class="mag">
				  <div class="plus">index 1</div>
				</div>
			  </div>
			</li>
			<li>
			  <div class="mask">
				<div class="mag">
				  <div class="plus">index 2</div>
				</div>
			  </div>
			</li>
			<li>
			  <div class="mask">
				<div class="mag">
				  <div class="plus">index 3</div>
				</div>
			  </div>
			</li>
		  </ul>
		</div>
		<div class="full-screen-mask">
		  <div class="view-port">
			<div class="pre">
			  <span>-</span>
			</div>
			<div class="pic"><img /></div>
			<div class="next">
			  <span>+</span>
			</div>

		  </div>
		  <div class="close">
			<span></span>
			<span></span>
		  </div>
		</div>

【讨论】:

  • 不工作。当我单击下一步按钮时没有任何反应,请检查此函数名称 next(), $(".pic img").attr("src","images/pic-" +num+".png");这个错了,$(".pic img").attr("src","images/我要下一张图片的src值");
  • 它不能正常工作,如果我点击第一个意味着它会显示第二个,就像我点击第五个意味着它会显示第六个图像,并且点击下一个意味着只显示 8 个图像然后它会来又是第一张图片
  • 好的。只需将 num = index 放在没有 +1 的情况下。我修改了我的更新
  • 点击next表示不能正常工作,两个图像来正确,然后它会返回
  • 这一次我也遇到了同样的问题,现在不行了
猜你喜欢
  • 2013-12-12
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 2023-04-07
相关资源
最近更新 更多