Форум Diz-Cs.Ru
Преимущества регистрации:
Возможность создания тем
Общение с пользователями
Найдете множество полезной информации
Найдете своих единомышленников
DIZ-CS.RU - Мы с Вами НАВСЕГДА!
  • Страница 1 из 1
  • 1
Модератор форума: -SAM-  
Кнопка вверх
Дата: Вт, 13.08.2013, 10:41:37 | Сообщение # 1
Аватарка hardy2012
OFF
Пользователь
177 Сообщения:
1 Награды:
27 Отзывы:
Skype пользователя:
Сайт пользователя:
Привет всем. Как уже вы поняли, мне нужна помощь по настройке кнопки "Вверх"

В общем, есть скрипт:

Код
<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
Аватарка Sanya_Sayansk
OFF
Пользователь
128 Сообщения:
24 Награды:
8 Отзывы:
Skype пользователя:
Сайт пользователя:
hardy2012, https://diz-cs.ru/forum/6-200935-1#2071608
Дата: Вт, 13.08.2013, 10:51:44 | Сообщение # 3
Аватарка hardy2012
OFF
Пользователь
177 Сообщения:
1 Награды:
27 Отзывы:
Skype пользователя:
Сайт пользователя:
Sanya_Sayansk, Спасибо конечно, но что-то не работает, и ссылку на картинку в скрипте заменил, все равно...
Дата: Вт, 13.08.2013, 10:56:01 | Сообщение # 4
Аватарка Sanya_Sayansk
OFF
Пользователь
128 Сообщения:
24 Награды:
8 Отзывы:
Skype пользователя:
Сайт пользователя:
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
Аватарка hardy2012
OFF
Пользователь
177 Сообщения:
1 Награды:
27 Отзывы:
Skype пользователя:
Сайт пользователя:
Sanya_Sayansk, Да теперь есть плавное прокручивание, но теперь кнопка не исчезает наверху, и находится в не очень красивом положении. Вот совместить бы мой скрипт и этот.(Что-то же отвечает за плавность).
Дата: Вт, 13.08.2013, 11:14:43 | Сообщение # 6
Аватарка Sanya_Sayansk
OFF
Пользователь
128 Сообщения:
24 Награды:
8 Отзывы:
Skype пользователя:
Сайт пользователя:
hardy2012, у меня на сайте стоит такой, кнопка исчезает, вот попробуй:

В нижнюю часть сайта:

Код
<script src="http://clan38.ru/Sanek_Sayansk/uguide_ru.js" type="text/javascript"></script>


сам файл можешь перелить себе в фтп
Дата: Вт, 13.08.2013, 13:11:58 | Сообщение # 7
Аватарка Tiny
OFF
Постоянный
516 Сообщения:
6 Награды:
92 Отзывы:
Цитата (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
Аватарка hardy2012
OFF
Пользователь
177 Сообщения:
1 Награды:
27 Отзывы:
Skype пользователя:
Сайт пользователя:
Sanya_Sayansk, Tiny, Что-то у меня через js не хочет делаться. Странно...
Дата: Вт, 13.08.2013, 15:42:35 | Сообщение # 9
Аватарка Tiny
OFF
Постоянный
516 Сообщения:
6 Награды:
92 Отзывы:
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
Аватарка hardy2012
OFF
Пользователь
177 Сообщения:
1 Награды:
27 Отзывы:
Skype пользователя:
Сайт пользователя:
Tiny, Огромное спасибо, то что доктор прописал) + вам.
  • Страница 1 из 1
  • 1
Поиск: