The forum of the forums
Welcome to the Official Support Forum of Forumotion!

To take full advantage of everything offered by our forum, please log in if you are already a member, or join our community if you've not yet.



Create a free forum like this one.

Scroll to Top

This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.

View previous topic View next topic Go down

Solved Scroll to Top

Post by Viserys on February 22nd 2013, 3:16 pm

Looking to implement a scrolling to "top button".

Example: http://www.animeinspirations.com/

My forum: http://forums.animeinspirations.com/

Not sure what I am doing wrong, if I am implementing the code incorrectly or if the javascript is written wrong.

Board Version: phpBB3

Code:
//** jQuery Scroll to Top Control script- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com.
//** Available/ usage terms at http://www.dynamicdrive.com (March 30th, 09')
//** v1.1 (April 7th, 09'):
//** 1) Adds ability to scroll to an absolute position (from top of page) or specific element on the page instead.
//** 2) Fixes scroll animation not working in Opera.


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:100, scrollto: 0, scrollduration:1000, fadeduration:[500, 100]},
   controlHTML: '<img src="http://4.bp.blogspot.com/-4EhTTBYpH7I/UQxorsZeTGI/AAAAAAAAChc/fFJupss47cA/s1600/jquery_scroll_icon.png" style="width:48px; height:48px" />', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol"
   controlattrs: {offsetx:5, offsety:5}, //offset of control relative to right/ 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, right:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'})
            .attr({title:'Scroll Back to Top'})
            .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()


I don't necessarily need the javascript, but its probably required to have the floating image that scrolls with the page. Additionally, if someone has a fix to implement a static scroll to top (basic click this link, sends you to top of page kind of deal) that can be attached to an image (near the footer for example) that would work as well.

I realize this is a tricky one, appreciate any support.

Works. Much appreciated.


Last edited by Viserys on February 23rd 2013, 1:48 am; edited 1 time in total

Viserys
New Member

Male Posts : 4
Reputation : 1
Language : English

http://forums.animeinspirations.com/

Back to top Go down

Solved Re: Scroll to Top

Post by Sir Chivas™ on February 22nd 2013, 3:26 pm

Hi,

I think this would be easier and cleaner.
http://www.csshelp.net/t45-how-to-put-scroll-to-top-with-jquery-on-your-forum

Regards,
Sir Chivas.



Attention!
- Please provide your forum URL at all times.
- When the issue is solved, please mark it as solved.



Sir Chivas™
Support Moderator
Support Moderator

Male Posts : 6756
Reputation : 428
Language : English, Spanish, and French
Location : || CSS || HTML || Graphics Designs || Support ||

Back to top Go down

Solved Re: Scroll to Top

Post by Jophy on February 23rd 2013, 11:59 am

Since this was marked solved...

Topic Solved & Locked

Jophy
ForumGuru

Male Posts : 17924
Reputation : 835
Language : English
Location : Somewhere

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum