mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-12 22:23:38 +00:00
0d9fbc1ad7
This version of SickBeard uses both TVDB and TVRage to search and gather it's series data from allowing you to now have access to and download shows that you couldn't before because of being locked into only what TheTVDB had to offer. Also this edition is based off the code we used in our XEM editon so it does come with scene numbering support as well as all the other features our XEM edition has to offer. Please before using this with your existing database (sickbeard.db) please make a backup copy of it and delete any other database files such as cache.db and failed.db if present, we HIGHLY recommend starting out with no database files at all to make this a fresh start but the choice is at your own risk! Enjoy!
76 lines
No EOL
3.6 KiB
JavaScript
76 lines
No EOL
3.6 KiB
JavaScript
//** 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: top_image_html,//set in inc_top.tmpl so it can be $sbRooted
|
|
controlattrs: {offsetx:10, offsety:10}, //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() |