|
|
|
| У меня такая проблемма щас сразу приведу код:
function tab_slider_stop() {
window.ts_action = false;
}
function ts_scroll() {
var left = $('#menu').scrollLeft();
if(window.ts_action == true) {
$('#menu').scrollLeft(left+1);
setTimeout('tab_slider_left();', 10)
}
}
function tab_slider_right() {
window.ts_action = true;
ts_scroll();
}
|
Вызываеться:
<a href="#" onmouseover="tab_slider_right();" onmouseout="tab_slider_stop();">></a>
|
Вообщем проблемма заключаеться в том что "window.ts_action" в функции tab_slider_stop() не меняет ничего, тоесть получаеться "window.ts_action" это не глобальная переменная, она почему-то там локальная... Как мне это реализовать чтобы window.ts_action была глобальной везде? p.s. много че пробовал но так ничего и не получилось, хотя раньше как-то делал | |
|
|
|
|
|
|
|
для: RaiDeRz
(28.08.2008 в 10:29)
| | Вне функции ее объявите. | |
|
|
|
|
|
|
|
для: sim5
(28.08.2008 в 11:00)
| | Уже пробовал она получаеться глобальной тоесть внутри функции значение ее видно но при изменении ее значения в фукнции везде видеться старый результат, тоесть она все равно получаеться локальной в функции | |
|
|
|
|
|
|
|
для: RaiDeRz
(28.08.2008 в 11:13)
| | Вот только не надо выдумывать несуществующих проблем в отношении видимости.
<script>
var n = 1;
function newNum() {
alert(n);
n = 5;
}
function viewNum() {
alert(n);
}
</script>
<input type="button" value="SetNum" onclick="newNum()">
<input type="button" value="ViewNum" onclick="viewNum()">
|
| |
|
|
|
|
|
|
|
для: sim5
(28.08.2008 в 11:26)
| | Может быть так то и норм работает, но почему у меня в 1 посте я писал код не работает на 1-й самой функции?
Даже если так делать:
var ts_action = false;
function tab_slider_stop() {
ts_action = false;
}
function ts_scroll() {
var left = $('#menu').scrollLeft();
if(ts_action == true) {
$('#menu').scrollLeft(left+1);
setTimeout('tab_slider_left();', 10)
}
}
function tab_slider_right() {
ts_action = true;
ts_scroll();
}
|
| |
|
|
|
|
|
|
|
для: RaiDeRz
(29.08.2008 в 11:21)
| | Сколько вам можно объяснть?
<script>
//объявляем глобальную переменную
var ts_action = true; //false - уж не знаю как вам надо инициализировать
function tab_slider_stop() {
ts_action = false; //хотим так
}
function ts_scroll() {
var left = $('#menu').scrollLeft();
if(ts_action == true) {
$('#menu').scrollLeft(left+1);
setTimeout('tab_slider_left();', 10)
}
}
function tab_slider_right() {
ts_action = true; //а тут иначе
ts_scroll();
}
</script>
|
| |
|
|
|
|
|
|
|
для: sim5
(29.08.2008 в 11:56)
| | Ну так я так и делал но почему-то после tab_slider_stop выполняю, ts_scroll не останавливаеться, когда alert делаю в ts_scroll он пишит что переменная все равно true, а не как должна быть false. По теории же все должно работать а на практике нет. | |
|
|
|
|
|
|
|
для: RaiDeRz
(29.08.2008 в 13:13)
| | Значит у вас не верна логика работы вашего сценария, значит не устанавливаете вы переменную в false. | |
|
|
|