Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建一个HTML文本字段,该字段在单击之前具有滚动背景图像?_Javascript_Jquery_Html_Textbox - Fatal编程技术网

Javascript 如何创建一个HTML文本字段,该字段在单击之前具有滚动背景图像?

Javascript 如何创建一个HTML文本字段,该字段在单击之前具有滚动背景图像?,javascript,jquery,html,textbox,Javascript,Jquery,Html,Textbox,我想在我的网站上添加一个文本框来捕获一个电子邮件地址。在它的背后,我想滚动或滑动图像作为一个提示,说明该字段应该是什么 示例:-新闻稿朝页面顶部注册 我可以找到很多提供纯文本提示的jQuery插件。我应该从哪里开始寻找添加此附加影响 注意:我不想在页面上添加任何flash元素。好吧,这只是一个模糊的想法,但它可能会让您开始 你可以: 在启动时为文本框指定一个灰色字体并显示消息的类 当用户单击该项时,它会检查控件中是否正在使用灰色类 如果是,则清除控件并为其指定黑色字体颜色 这样,后续的单击事件将

我想在我的网站上添加一个文本框来捕获一个电子邮件地址。在它的背后,我想滚动或滑动图像作为一个提示,说明该字段应该是什么

示例:-新闻稿朝页面顶部注册

我可以找到很多提供纯文本提示的jQuery插件。我应该从哪里开始寻找添加此附加影响


注意:我不想在页面上添加任何flash元素。

好吧,这只是一个模糊的想法,但它可能会让您开始

你可以:

在启动时为文本框指定一个灰色字体并显示消息的类 当用户单击该项时,它会检查控件中是否正在使用灰色类 如果是,则清除控件并为其指定黑色字体颜色
这样,后续的单击事件将找不到灰色类,文本框也不会清除用户的内容。

好吧,这只是一个模糊的想法,但它可能会让您开始

你可以:

在启动时为文本框指定一个灰色字体并显示消息的类 当用户单击该项时,它会检查控件中是否正在使用灰色类 如果是,则清除控件并为其指定黑色字体颜色 这样,后续的单击事件将找不到灰色类,文本框也不会清除用户的内容。

尝试以下操作:

<body onload="changingBG()">
<input type="text" id="thisBox">
</body>
试试这个:

<body onload="changingBG()">
<input type="text" id="thisBox">
</body>

这些是我将采取的步骤

创建文本输入字段,并为其指定一个类,该类具有背景图像属性,该属性指向一个图像,该图像包含要按垂直列出的顺序显示的文本。。所以你的图像看起来像

通讯注册

输入您的电子邮件地址

然后,您可以使用CSS Sprite方法以您希望的速率将图像上移,使用类似jQuery的库对其进行动画处理,从而获得相同的效果


然后,在输入框上需要一个事件活页夹,当用户单击该框时,该活页夹将清除背景图像,或者如果该框包含文本,则这些是我将采取的步骤

创建文本输入字段,并为其指定一个类,该类具有背景图像属性,该属性指向一个图像,该图像包含要按垂直列出的顺序显示的文本。。所以你的图像看起来像

通讯注册

输入您的电子邮件地址

然后,您可以使用CSS Sprite方法以您希望的速率将图像上移,使用类似jQuery的库对其进行动画处理,从而获得相同的效果


然后,在输入框上需要一个事件绑定器,当用户单击框时,该绑定器将清除背景图像,或者如果框中包含文本,则可以使用纯javascript执行此操作

初始化:获取对输入元素的引用。使用“样式”属性设置背景图像

emailInput.style.backgroundImage = "url('emailbackground.png')";
emailInput.style.backgroundPosition = '0px 0px';
还声明变量以跟踪运行的y偏移量、图像的高度(以像素为单位),以及如果您想要像蒸汽船上一样交错滚动,您移动了多少步以及timerID

您将有两个函数-一个将启动一个间隔计时器,其中图像的位置将发生变化,另一个将调用第一个函数,以便在暂停背景时重新启动间隔

首先是“启动”方法:

function startScrolling() {
    // start the process of moving the image
    stepCounter = 0;
    timerID = setInterval(updateScrolling, 10);
}
“更新”方法:

function updateScrolling() {

    // update the y offset
    stepCounter++;
    y = (stepCounter * 1) % imageHeight;
    emailInput.style.backgroundPosition = '0px ' + (-y).toString() + 'px';

    // check for changes to timing
    if (stepCounter >= steps) {
        clearInterval(timerID);
        timerID = setTimeout(startScrolling, 1000);
    }
}

此示例设置为每执行一步移动1个像素。您可以提供一个固定的值,也可以根据图像高度或其他任何情况导出该值。如果我们已经完成了此循环的所有步骤,则会停止间隔,并为重新启动功能设置更长的超时。

您可以使用纯javascript完成此操作

初始化:获取对输入元素的引用。使用“样式”属性设置背景图像

emailInput.style.backgroundImage = "url('emailbackground.png')";
emailInput.style.backgroundPosition = '0px 0px';
还声明变量以跟踪运行的y偏移量、图像的高度(以像素为单位),以及如果您想要像蒸汽船上一样交错滚动,您移动了多少步以及timerID

您将有两个函数-一个将启动一个间隔计时器,其中图像的位置将发生变化,另一个将调用第一个函数,以便在暂停背景时重新启动间隔

首先是“启动”方法:

function startScrolling() {
    // start the process of moving the image
    stepCounter = 0;
    timerID = setInterval(updateScrolling, 10);
}
“更新”方法:

function updateScrolling() {

    // update the y offset
    stepCounter++;
    y = (stepCounter * 1) % imageHeight;
    emailInput.style.backgroundPosition = '0px ' + (-y).toString() + 'px';

    // check for changes to timing
    if (stepCounter >= steps) {
        clearInterval(timerID);
        timerID = setTimeout(startScrolling, 1000);
    }
}

此示例设置为每执行一步移动1个像素。您可以提供一个固定的值,也可以根据图像高度或其他任何情况导出该值。如果我们完成了此循环的所有步骤,则会停止间隔,并为重启功能设置更长的超时。

我想我的问题的核心是,我正在寻找一种方法,将旋转图像作为文本框提示,而不仅仅是纯文本。不过,感谢您的输入。我不确定这是否可行,除非图像分层在文本框控件的顶部。我想我的问题的核心是,我正在寻找一种方法,将旋转图像作为文本框提示,而不仅仅是纯文本。不过,谢谢你的意见。我不确定这是否可行
除非图像是在文本框控件的顶部分层的,否则它看起来像是这一点和乔治的方法的结合,可能正好达到目的。我要试一试。谢谢。看来这和乔治的方法结合起来可能会奏效。我要试一试。谢谢