单击按钮后将Var更改为0

时间:2016-06-10 15:35:51

标签: javascript html html5

在我的javascript中,我有一个autoscroll,它设置为var speed 1.我想在单击按钮时将var spped设置为0。有人可以帮助我吗?

按钮:

<button name="NONAUTO"  value="">Turn off Autoscroll</button>

这是我的Javascript:

var speed=1;
var currentpos=0,alt=1,curpos1=0,curpos2=-1;

function initialize(){
    startit();
}

function scrollwindow(){
    if (document.all && !document.getElementById)
        temp=document.body.scrollTop;
    else
        temp=window.pageYOffset;

    if (alt==0)
        alt=0;
    else
        alt=0;

    if (alt==0)
        curpos1=temp;
    else
        curpos2=temp;

    if (curpos1!=curpos2){

        if (document.all)
            currentpos=document.body.scrollTop+speed;
        else
            currentpos=window.pageYOffset+speed;

        window.scroll(0,currentpos);
    } 
    else {
        currentpos=0;
        window.scroll(0,currentpos);
    }
}

function startit(){
    setInterval("scrollwindow()",50);
}

window.onload=initialize;

自动滚动是可中断的,你可以自由滚动,但如果你可以修复,如果你滚动并等待20秒,然后继续自动滚动,这将是一个很好的!但这只是一个额外的。

5 个答案:

答案 0 :(得分:0)

将onclick属性添加到按钮onclick = change()

并且,您可以进行以下change()功能:

function change(){ start = 0;}

您还可以按document.getElementsByName("NONAUTO")[0].addEventListener("click",change,false)

添加onclick事件监听器

答案 1 :(得分:0)

你可以这样做。

 <button onClick = "turnOff(event)" name="NONAUTO"  value="">Turn off Autoscroll</button>

在脚本文件中添加此功能。

var turnOff = function(event)
{
  event.preventDefault();
  speed = 0;
  alert(speed);
}

答案 2 :(得分:0)

如果您使用的是jQuery,可以使用:

<button id="buttId" name="NONAUTO"  value="">Turn off Autoscroll</button>
$( "#buttId" ).click( function()
{
  speed = 0;
}

或者如果您不想添加ID属性:

$( "[name='NONAUTO']" ).click( function()
{
  speed = 0;
}

答案 3 :(得分:0)

为此,您需要在Event Handlers中使用JavaScript。您特别需要处理特定button Click 事件。您可以像其他人提到的那样在html代码中执行此操作。这称为 Obtrusive JavaScript 通常建议使用 Unobtrusive JavaScript 。以下是使用事件监听器执行此操作的一种方法:

window.onload = function() {
var speed = 1;
  var button = document.getElementById("nonAuto");
  button.addEventListener("click", function() {
  speed = 0;
  alert(speed);
  });
};
<button name="NONAUTO" id="nonAuto" value="">Turn off Autoscroll</button>

您还可以通过以下方式切换自动滚动值:

window.onload = function() {
var speed = 1;
  var button = document.getElementById("nonAuto");
  button.addEventListener("click", function() {
  	if (speed === 1) {
  		  speed = 0;
  	    button.firstChild.data = "Turn on AutoScroll";
  	    alert(speed);
  	}
    else {
  		  speed = 1;
  	    button.firstChild.data = "Turn off AutoScroll";
  	    alert(speed);
  	}
  });
};
<button name="NONAUTO" id="nonAuto" value="">Turn off Autoscroll</button>

希望这有帮助!!!

答案 4 :(得分:-1)

您想要在单击按钮时更改变速,从1更改为0。 只需在您的html文件中写下:

<button onClick:'var speed = 0'></button>