/    Sign up×
Community /Pin to ProfileBookmark

js behaviours interfering

Hello all and thank in advance for you help.
Please go to [url]www.webvoracious.com[/url] to follow my request of assistance:
For some reason the navigation of the non-styled menu at the top of each section also activates the scrolling of the panels included in the work section.
Would you please explain why and tell me how to solve the issue (please note I’m not a js developer) ?

To make your job easier:
– codaslider.js only animates the panels within the work section.
– thw.js is supposed to trigger ONLY the navigation of the overall web site but, wrongly, it also impacts on the panels sliding.
I include the latter here.

Thank you so much!
ray1975

[CODE]

window.onload = function() {
HtinyScrolling.init(); scrollTips.init();
}

function gotoit(target){
HtinyScrolling.scrollToIt(target);
}

var HtinyScrolling = {
speed : 50,
maxStep: 150,
brakeK: 3,
hash:null,
currentBlock:null,
requestedX:0,
init: function() {
var lnks = document.getElementsByTagName(‘a’);
for(var i = 0, lnk; lnk = lnks[i]; i++) {
if ((lnk.href && lnk.href.indexOf(‘#’) != -1) && ( (lnk.pathname == location.pathname) ||
(‘/’+lnk.pathname == location.pathname) ) && (lnk.search == location.search)) {
addEvent(lnk,’click’,HtinyScrolling.initScroll,false);
lnk.onclick=function(){return false;} // Safari
}
}
},
getTarget: function(target) {
while(target.tagName.toLowerCase() != ‘a’)
target = target.parentNode;
return target;
},
getElementXpos: function(el){
var x = 0;
while(el.offsetParent){
x += el.offsetLeft;
el = el.offsetParent;
} return x;
},
getScrollLeft: function(){
if(document.all) return (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
else return window.pageXOffset;
},
getWindowWidth: function(){
if (window.innerWidth) return window.innerWidth;
if(document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
},
getDocumentWidth: function(){
if (document.width) return document.width;
if(document.body.offsetWidth) return document.body.offsetWidth;
},
initScroll: function(e){
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
targ = HtinyScrolling.getTarget(targ); //a fix by Skid X
HtinyScrolling.hash = targ.href.substr(targ.href.indexOf(‘#’)+1,targ.href.length);
HtinyScrolling.currentBlock = document.getElementById(HtinyScrolling.hash);
if(!HtinyScrolling.currentBlock) return;
HtinyScrolling.requestedX = HtinyScrolling.getElementXpos(HtinyScrolling.currentBlock);
HtinyScrolling.scroll(targ);
return false;
},
scrollToIt: function(targ){ //thanks to Michael Ionita-Ganea
target = document.getElementById(targ);
HtinyScrolling.currentBlock = document.getElementById(targ);
if(!HtinyScrolling.currentBlock) return;
HtinyScrolling.requestedX = HtinyScrolling.getElementXpos(HtinyScrolling.currentBlock);
HtinyScrolling.scroll(target);
return false;

},
scroll: function(targ) {
var left = HtinyScrolling.getScrollLeft();
if(HtinyScrolling.requestedX > left) { //a fix by Michael Ionita-Ganea
var endDistance = Math.round((HtinyScrolling.getDocumentWidth() – (left + HtinyScrolling.getWindowWidth())) / HtinyScrolling.brakeK);
endDistance = Math.min(Math.round((HtinyScrolling.requestedX-left)/ HtinyScrolling.brakeK), endDistance);
var offset = Math.min(Math.abs(Math.round((HtinyScrolling.requestedX-left)/ HtinyScrolling.brakeK)), HtinyScrolling.maxStep);
}else {
var offset = – Math.min(Math.abs(Math.round((HtinyScrolling.requestedX-left)/ HtinyScrolling.brakeK)), HtinyScrolling.maxStep);
}
window.scrollTo(left + offset, 0);
if(Math.abs(left-HtinyScrolling.requestedX) <= 1 || HtinyScrolling.getScrollLeft() == left) {
HtinyScrolling.hash = null;
} else setTimeout(HtinyScrolling.scroll,HtinyScrolling.speed);
}
}

var scrollTips = {
dx : null,
init : function() {
if (window.addEventListener) {
window.addEventListener(“DOMMouseScroll”, this.mouseScroll, false);
} else document.attachEvent(“onmousewheel”, this.mouseScroll);
var left = document.getElementById(‘left’);
addEvent(left,’mouseover’, function() {this.dx=setInterval(‘scrollTips.arrowScroll(0)’,100);return false;});
addEvent(left,’mouseout’, function() { clearInterval(this.dx); return false;});
var right = document.getElementById(‘right’);
addEvent(right,’mouseover’, function() {this.dx=setInterval(‘scrollTips.arrowScroll(1)’,100);return false;});
addEvent(right,’mouseout’, function() { clearInterval(this.dx); return false;});
},
mouseScroll : function(e) {
if (!e) var e = window.event;
var scroll = e.detail ? e.detail * 20 : e.wheelDelta / -20;
if (scroll>=0 ){
window.scrollBy(80,0);
} else window.scrollBy(-80,0) ;
},
arrowScroll: function(val) {
if(val==1) {
window.scrollBy(70,0);
} else {
window.scrollBy(-70,0)
}
}
}

function addEvent( obj, type, fn ) {
if (obj.addEventListener)
obj.addEventListener( type, fn, false );
else if (obj.attachEvent) {
obj[“e”+type+fn] = fn;
obj[type+fn] = function() { obj[“e”+type+fn]( window.event ); }
obj.attachEvent( “on”+type, obj[type+fn] );
}
}

function removeEvent( obj, type, fn ) {
if (obj.removeEventListener)
obj.removeEventListener( type, fn, false );
else if (obj.detachEvent) {
obj.detachEvent( “on”+type, obj[type+fn] );
obj[type+fn] = null;
obj[“e”+type+fn] = null;
}
}
[/CODE]

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @ray1975 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.5,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...