Я теряю рассудок, это должно быть просто, и я уверен, что я слишком усложнил его, как jQuery noob. Вздох.scrollTo() не прокручивается после вкладок ('select', #)
Таким образом, у меня есть эта страница, которая принимает # switchto = aC# goto = acemergency hashtags и включает соответствующие вкладки jQuery, после чего она должна перейти (прокрутить) желаемый идентификатор. Проблема в том, что вкладки() автоматически прокручиваются назад в верхнюю часть контейнера, а когда вызывается scrollTo(), он больше не знает, где прокручиваться. Другими словами, это не прокрутка.
Вот мой обработчик события:
jQuery(window).hashchange(function(e) {
if (window.location.hash) {
var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
var instruct = hash.split('#'); //split instructions
var whichtab = instruct[0].split('='); // split instruction from tab name
try {
var whichid = instruct[1].split('='); // split instruction from id name
}
catch (err) { /*suppress*/
}
if (whichtab[0] == "switchto") {
switch (whichtab[1]) {
case 'ac':
try {
if (whichid[1] != "") {
$s.when(targettab(0)).then(targetid(whichid[1]));
}
} catch (err) {}
$s('.tour').tabs('select', 0);
break;
case 'heating':
try {
if (whichid[1] != "") {
$s.when(targettab(1)).then(targetid(whichid[1]));
}
} catch (err) {}
$s('.tour').tabs('select', 1);
break;
case 'plumbing':
try {
if (whichid[1] != "") {
$s.when(targettab(2)).then(targetid(whichid[1]));
}
} catch (err) {}
$s('.tour').tabs('select', 2);
break;
}
}
}
});
А вот мои функции:
function targetid(givenid) {
//$s('html,body').animate({scrollTop: $s("#"+givenid).offset().top},'fast');
$s.scrollTo($s("#" + givenid), 400);
$s("#" + givenid).delay(500).fadeTo('slow', 0.1, function() {
$s("#" + givenid).fadeTo('slow', 1);
console.log('got ' + givenid + ' and scrolled to it');
});
}
function targettab(giventab) {
$s('.tour').tabs('select', giventab);
}
Я попробовал несколько способов, я нашел здесь, на StackOverflow, но ни один из них не кажется, чтобы исправить мою проблему. Есть идеи? Есть ли способ остановить вкладки() от прокрутки вверху вверх по tabsselect?