Scroll na specifičen element id
10 naročnikov
10 naročnikov
Vem, da obstaja ogromno tega že spisanega, ampak ne najdem za dotičen primer.
Na vrhu strani želim izpostaviti 4 gumbe (ali linke, ni pomembno), po kliku na določenega pa se seveda stran poscrolla navzdol, na določen naslov.
Button1 na heading id=1
Button2 na heading id=2
Button3 na heading id=3.....
Ima kdo povezavo, nasvet,... Hvala lepa.
28 odgovorov
Zdaj napake sicer ne javi, vendar ne deluje. V fiddle pa deluje normalno. Kaj bi lahko blo?
Koda za preverit, ali jQuery deluje, pa dela normalno.
Kaj vse sem poskusil- v vsakem primeru zamenjal tudi $ z jQuery:
jQuery('a[href^="#"]').click(function(){
jQuery('body').animate({
scrollTop: jQuery(jQuery(this).attr('href')).offset().top - 30
}, 500);
});
jQuery(document).ready(function() {
$('a[href^="#"]').click(function(){
$('body').animate({
scrollTop: $($(this).attr('href')).offset().top - 30
}, 4000);
});
});
$('a[href^="#"]').click(function(){
$('body').animate({
scrollTop: $($(this).attr('href')).offset().top
}, 500);
return false;
});
jQuery(document).ready(function($) {
$('a[href^="#"]').click(function(){
$('body').animate({
scrollTop: $($(this).attr('href')).offset().top - 30
}, 4000);
});
});
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
$('a[href^="#"]').click(function(){
$('body').animate({
scrollTop: $($(this).attr('href')).offset().top
}, 500);
return false;
});
});
</script>
A imaš še kakšno skripto, ki bi mogoče uporabljala $. V vsakem primeru poskusi takole
jQuery.noConflict();
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
Tole je copy paste z jQuery strani, jaz vedno to uporabljam in načeloma nimam problemov.
ne ne dela, hvala vseeno
edit: dela!
hvala. Je pa problem, da ne morem nastaviti hitrosti scrolla, popolnoma drugače kot v SlimDeluxovem fiddlu. Očitno je nek konflikt z drugo skripto, ne?
Če bi bil konflik ti verjetno noben js na strani ne bi delal. Na hitro sem pogledal fiddle in bi ti moralo delat, ker v bistvu samo spreminjaš trajanje animate funkcije
$('xx').animate({kaj animairaš}, kolikoCasaTrajaVms);
Sicer pa poglej v konzolo če ti kaj javi oz. poskusi še v kakšnem brskalniku. Brez, da bi videl zadevo ti težko kaj povem.