【问题标题】:Load previous/next url with jquery使用 jquery 加载上一个/下一个 url
【发布时间】:2017-03-25 15:13:57
【问题描述】:

我在 div 上加载 html 页面,并希望创建上一个/下一个按钮以便于导航。实现这一目标的最佳方法是什么?

按照小提琴:https://jsfiddle.net/5vbc2vp6/6/ - 基本上我想定位下一个 div href 并在单击上一个/下一个按钮时加载它。

$(".iframe").on("click", function(e) {
  e.preventDefault();
  var $mylink = $(this).attr('href');
  $("#myDiv").load($mylink);
});

$(".prev").on("click", function(e) {
  e.preventDefault();
});

$(".next").on("click", function(e) {
  e.preventDefault();
});

HTML

<a class="prev" href="#">Previous Entry</a> | <a class="next" href="#">Next Entry</a>

<p>
  <div id="myDiv">
  HTML loads here
  </div>
</p>

<div class="entry designs">
  <span class="number">1</span>
  <a class="iframe" rel="design1" href="portfolio/automotive/page.html" caption="Design for Automotive company">
    <img src="portfolio/automotive/thumb.jpg" alt="" border="0" width="200" height="150">
    <span class="magnifier"><span class="tp-info"><span class="tp-color">Design</span> for Automotive company</span>
    </span>
  </a>
</div>

<div class="entry designs">
  <span class="number">2</span>
  <a class="iframe" rel="design2" href="portfolio/landing_page/page.html" caption="Landing page design">
    <img src="portfolio/landing_page/thumb.jpg" alt="" border="0" width="200" height="150">
    <span class="magnifier"><span class="tp-info"><span class="tp-color">Landing page</span> design</span>
    </span>
  </a>
</div>

<div class="entry print">
  <span class="number">1</span>
  <a class="iframe" rel="print1" href="portfolio/testobject/page.html" caption="Flyer design for TestObject">
    <img src="portfolio/testobject/thumb.png" alt="" border="0" width="200" height="150">
    <span class="magnifier"><span class="tp-info"><span class="tp-color">Flyer design</span> for TestObject</span>
    </span>
  </a>
</div>

【问题讨论】:

    标签: javascript jquery html load href


    【解决方案1】:

    这是我的解决方案!希望对您有所帮助
    https://jsfiddle.net/ionutmihai1995/1yuju49p/

    $('#e1').hide();
    $('#e2').hide();
    $('#e3').hide();
    $(".iframe").on("click", function(e) {
        e.preventDefault();
        var $mylink = $(this).attr('href');
        $("#myDiv").load($mylink);
    });
    
    $(".prev").on("click", function(e) {
        var currentId=$('#myDiv .number').html();
        if(currentId==1)
          currentId=3;
        else
          currentId-=1;
        var prev=$('#e'+currentId).html();
        $('#myDiv .entry').replaceWith(prev);
    });
    
    $(".next").on("click", function(e) {
       var currentId=$('#myDiv .number').html();
       if(currentId==3)
         currentId=1;
       else
         currentId=parseInt(currentId)+1;
       var next=$('#e'+currentId).html();
       $('#myDiv .entry').replaceWith(next);
    
    });
    

    HTML

    <a class="prev" href="#">Previous Entry</a> | <a class="next" href="#">Next Entry</a>
    
    <div id="myDiv">
      <div class="entry" id="current">
        <span class="number">1</span>
        <a class="iframe" rel="design1" href="portfolio/automotive/page.html" caption="Design for Automotive company">
          <img src="portfolio/automotive/thumb.jpg" alt="" border="0" width="200" height="150">
          <span class="magnifier"><span class="tp-info"><span class="tp-color">Design</span> for Automotive company</span>
          </span>
        </a>
    </div>
    </div>
    <div id="e1">
    <div class="entry">
      <span class="number">1</span>
      <a class="iframe" rel="design1" href="portfolio/automotive/page.html" caption="Design for Automotive company">
        <img src="portfolio/automotive/thumb.jpg" alt="" border="0" width="200" height="150">
        <span class="magnifier"><span class="tp-info"><span class="tp-color">Design</span> for Automotive company</span>
        </span>
      </a>
    </div>
    </div>
    <div id="e2">
    <div class="entry">
      <span class="number">2</span>
      <a class="iframe" rel="design2" href="portfolio/landing_page/page.html" caption="Landing page design">
        <img src="portfolio/landing_page/thumb.jpg" alt="" border="0" width="200" height="150">
        <span class="magnifier"><span class="tp-info"><span class="tp-color">Landing page</span> design</span>
        </span>
      </a>
    </div>
    </div>
    <div id="e3">
    <div class="entry">
      <span class="number">3</span>
      <a class="iframe" rel="print1" href="portfolio/testobject/page.html" caption="Flyer design for TestObject">
        <img src="portfolio/testobject/thumb.png" alt="" border="0" width="200" height="150">
        <span class="magnifier"><span class="tp-info"><span class="tp-color">Flyer design</span> for TestObject</span>
        </span>
      </a>
    </div>
    </div>
    

    【讨论】:

    • 我需要将这块:var next=$('#e'+currentId).html(); 替换为仅 href(而不是整个 div html)
    • 试试这个 -> var next=$('#e'+currentId+' .entry .iframe').attr('href'); $('#myDiv .iframe').attr('href',next);
    • 这可行,但在我浏览项目时,它永远不会回到第一个 -> (div id="current")
    • 当我在同位素上使用逆序时,如果单击“下一步”而没有“#e”部分,知道如何定位正确的 div?
    • 您只想更改 href 吗?或 href、图片、文字
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2019-02-02
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多