2012-12-04 15 views
6

जब मैं बैकबोन.जेएस हैश आधारित रूटिंग का उपयोग कर रहा हूं तो बूटस्ट्रैप स्क्रॉलस्पी का उपयोग करने के बारे में कैसे जाउंगा?बूटस्ट्रैप स्क्रॉलस्पी और रीढ़ की हड्डी रूटिंग

बैकबोन रूटर उदाहरण है, जो पृष्ठ बनाता www.example.com/#somePage/123

var AppRouter = Backbone.Router.extend({ 
    routes: { 
     "": "home", 
     "somePage/:id": "somePage" 
    }, 
    somePage: function (id) { 
     console.log("do something"); 
    } 
}); 

$(document).ready(function(){ 
    window.app = new AppRouter(); 
    Backbone.history.start(); 
});  

ट्विटर Scrollspy उदाहरण जो अंत करने के लिए # लंगर-मूल्य संलग्न करना होगा यूआरएल:

<div id="navbar" class="row-fluid"> 
     <ul class="nav nav-pills navbar"> 
      <li class="active"> 
       <a href="#step1">1</a> 
      </li> 
      <li> 
       <a href="#step2">2</a> 
      </li> 
     </ul> 
    </div> 
    <div data-spy="scroll" data-target=".navbar"> 
     <h4 id="step1">Step 1</h4> 
     <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p> 
     <h4 id="step2">Step 2</h4> 
     <p>Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.</p> 
    </div> 

यह यूआरएल को www.example.com/#somePage/123#step1 जैसे कुछ चालू करना चाहता है, जो काम नहीं कर रहा है।

+1

इस पोस्ट ने मेरे प्रश्न का उत्तर दिया http://stackoverflow.com/questions/11672687/anchors-in-links – abritez

उत्तर

0

यहाँ एक संभव समाधान बूटस्ट्रैप डेमो Scrollspy उपयोग कर रहा है: https://jsfiddle.net/8wvdpddq/

मान लिया जाये कि आप URL अपडेट किया है और एक इतिहास बिंदु उपयोगकर्ता स्क्रॉल के रूप में जोड़ा है करना चाहते हैं, तो निम्न कोड इसे प्राप्त करना चाहिए:

$('body').on('activate.bs.scrollspy', function() { 
    var active = $('nav li:not(.dropdown).active a').attr('href').slice(1); 
    window.app.navigate(active, {trigger: true}); 
    console.log('update url/history to ' + active); 
}) 

इस मामले में, trigger भी सेट है, जिसका अर्थ है कि आपके रूटिंग हैंडलर आग लगेंगे, अगर आप यह नहीं चाहते हैं, तो बस इस विकल्प को हटा दें।

संबंधित मुद्दे