Кнопка вверх
|
|
Дата: Вт, 13.08.2013, 10:41:37 | Сообщение # 1
|
Привет всем. Как уже вы поняли, мне нужна помощь по настройке кнопки "Вверх"
В общем, есть скрипт:
Код <a href="#" id="toTop"><img src="/designs_77/up.png" border="0" align="absmiddle" /></a> <script type="text/javascript"> function toTop(){var toTop=$('#toTop');($(window).scrollTop()>'0')?toTop.fadeIn():toTop.fadeOut();}; $(window).scroll(function(){toTop();});toTop(); </script>
Он работает без проблем, но вот только хочется что-бы как здесь на сайте, нажимая на кнопку он плавно поднимал страницу, а у меня мгновенно.
Помогите, думаю многим здесь это легко.
|
|
Дата: Вт, 13.08.2013, 10:46:06 | Сообщение # 2
|
hardy2012, https://diz-cs.ru/forum/6-200935-1#2071608
|
|
Дата: Вт, 13.08.2013, 10:51:44 | Сообщение # 3
|
Sanya_Sayansk, Спасибо конечно, но что-то не работает, и ссылку на картинку в скрипте заменил, все равно...
|
|
Дата: Вт, 13.08.2013, 10:56:01 | Сообщение # 4
|
hardy2012, попробуй это
Прописываем код в нижней части сайта в самом низу. То есть идем в низ сайта и вставляем код в самый низ модуля.
Код <a href="javascript://" onclick="$('body').scrollTo({top:$('body').offset().top, left:0}, 1500);return false;"> <div style="position:fixed; opacity:0.8; bottom:0px; right:0px;" id="fImgtotop"><img title="Вверх" src="http://csomsk.ru/1-ucoz/pm/rip/to_topy.png" border="0"></div> </a>
|
|
Дата: Вт, 13.08.2013, 11:00:49 | Сообщение # 5
|
Sanya_Sayansk, Да теперь есть плавное прокручивание, но теперь кнопка не исчезает наверху, и находится в не очень красивом положении. Вот совместить бы мой скрипт и этот.(Что-то же отвечает за плавность).
|
|
Дата: Вт, 13.08.2013, 11:14:43 | Сообщение # 6
|
hardy2012, у меня на сайте стоит такой, кнопка исчезает, вот попробуй:
В нижнюю часть сайта:
Код <script src="http://clan38.ru/Sanek_Sayansk/uguide_ru.js" type="text/javascript"></script>
сам файл можешь перелить себе в фтп
|
|
Дата: Вт, 13.08.2013, 13:11:58 | Сообщение # 7
|
Цитата (hardy2012) Вот совместить бы мой скрипт и этот В корне сайта создай файл "scrolltop.js", в который вставь код: Код var scrolltotop={ //startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control //scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top). setting: {startline:300, scrollto: 0, scrollduration:1000, fadeduration:[500, 100]}, controlHTML: '<img src="/designs_77/up.png" style="width:54px; height:36px" />', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol" controlattrs: {offsetx:5, offsety:5}, //offset of control relative to left/ bottom of window corner anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links
state: {isvisible:false, shouldvisible:false},
scrollup:function(){ if (!this.cssfixedsupport) //if control is positioned using JavaScript this.$control.css({opacity:0}) //hide control immediately after clicking it var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto) if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists dest=jQuery('#'+dest).offset().top else dest=0 this.$body.animate({scrollTop: dest}, this.setting.scrollduration); },
keepfixed:function(){ var $window=jQuery(window) var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety this.$control.css({left:controlx+'px', top:controly+'px'}) },
togglecontrol:function(){ var scrolltop=jQuery(window).scrollTop() if (!this.cssfixedsupport) this.keepfixed() this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false if (this.state.shouldvisible && !this.state.isvisible){ this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0]) this.state.isvisible=true } else if (this.state.shouldvisible==false && this.state.isvisible){ this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1]) this.state.isvisible=false } }, init:function(){ jQuery(document).ready(function($){ var mainobj=scrolltotop var iebrws=document.all mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode mainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body') mainobj.$control=$('<div id="topcontrol">'+mainobj.controlHTML+'</div>') .css({position:mainobj.cssfixedsupport? 'fixed' : 'absolute', bottom:mainobj.controlattrs.offsety, left:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'}) .attr({title:'Up'}) .click(function(){mainobj.scrollup(); return false}) .appendTo('body') if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //loose check for IE6 and below, plus whether control contains any text mainobj.$control.css({width:mainobj.$control.width()}) //IE6- seems to require an explicit width on a DIV containing text mainobj.togglecontrol() $('a[href="' + mainobj.anchorkeyword +'"]').click(function(){ mainobj.scrollup() return false }) $(window).bind('scroll resize', function(e){ mainobj.togglecontrol() }) }) } }
scrolltotop.init()
На странице, где ставил код предыдущей кнопки, замени на: Код <script src="/scrolltop.js" type="text/javascript"></script>
Сообщение отредактировал Tiny - Вт, 13.08.2013, 13:20:24
|
|
Дата: Вт, 13.08.2013, 14:05:06 | Сообщение # 8
|
Sanya_Sayansk, Tiny, Что-то у меня через js не хочет делаться. Странно...
|
|
Дата: Вт, 13.08.2013, 15:42:35 | Сообщение # 9
|
hardy2012, переписал твою кнопку. Удаляй созданный js и ставь скрипт ниже туда же, куда свой скрипт ставил. Вот скрипт кнопки "Вверх": Код <div style="position:fixed; opacity:0.8; bottom:0px; right:0px;"><a href="javascript://" id="toTop" onclick="$('body,html').animate({ scrollTop: 0 }, 1000);"><img src="/designs_77/up.png" border="0" align="absmiddle" /></a></div> <script type="text/javascript"> function toTop(){ var toTop=$('#toTop'); ($(window).scrollTop()>'0')?toTop.fadeIn():toTop.fadeOut(); }; $(window).scroll(function(){toTop();});toTop(); </script>
|
|
Дата: Вт, 13.08.2013, 23:27:35 | Сообщение # 10
|
Tiny, Огромное спасибо, то что доктор прописал) + вам.
|
|