Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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函数始终在滚动条上重新执行并跟随元素的宽度_Javascript_Jquery_Html_String_Math - Fatal编程技术网

如何使javascript函数始终在滚动条上重新执行并跟随元素的宽度

如何使javascript函数始终在滚动条上重新执行并跟随元素的宽度,javascript,jquery,html,string,math,Javascript,Jquery,Html,String,Math,我想使randomString()函数始终在窗口移动(滚动)时重新执行,并在div=“randlock”元素的宽度和高度范围内显示输出。当前显示输出,但仅显示一次,且始终超出设置的宽度 <script language="javascript" type="text/javascript"> $(document).ready(function randomString() { var chars = "0123456789ABCDEFGHIJKLMNOPQR

我想使randomString()函数始终在窗口移动(滚动)时重新执行,并在div=“randlock”元素的宽度和高度范围内显示输出。当前显示输出,但仅显示一次,且始终超出设置的宽度

<script language="javascript" type="text/javascript">
    $(document).ready(function randomString() {
        var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
        var string_length = 300;
        var randomstring = '';
        for (var i=0; i<string_length; i++) {
            var rnum = Math.floor(Math.random() * chars.length);
            randomstring += chars.substring(rnum,rnum+1);
        }

        document.getElementById('randlock').innerHTML = randomstring;
        document.getElementById('randlock').style.width = "200px";  // this is not working
    });

    $(window).scroll(function(){
        randomString();
    })
</script>

<style type="text/css">
    #randlock {
        height: 300px;
        width: 200px;
    }
</style>
<div id="randlock">
</div>

$(文档).ready(函数randomString(){
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz”;
变量字符串长度=300;
var randomstring='';
对于(var i=0;i
randomString()
声明不正确,您需要将窗口对象上的
滚动
事件包装在
文档中。就绪
声明。溢出的文本与div的固定宽度无关。我在下面的示例中将
换行:break word
添加到css中,可以解决此问题。请尝试下面的代码

<script language="javascript" type="text/javascript">
    function randomString() {
        var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
        var string_length = 300;
        var randomstring = '';
        for (var i=0; i<string_length; i++) {
           var rnum = Math.floor(Math.random() * chars.length);
           randomstring += chars.substring(rnum,rnum+1);
        }
        document.getElementById('randlock').innerHTML = randomstring;
    }

    $(function () { //Shorthand for $(document).ready(
        $(window).scroll(function(){
            randomString();
         });
    });
</script>

 <style type="text/css">
 #randlock {
        height: 300px;
        width: 200px;
        word-wrap: break-word;
 }
 </style>
<div id="randlock">
</div>

函数randomString(){
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz”;
变量字符串长度=300;
var randomstring='';

对于(var i=0;iAmazing),这100%符合我的预期。但是宽度仍然不起作用,输出超出了200px的宽度。你知道我如何修复宽度吗?非常感谢,你帮我省去了几个小时的麻烦,这正是我现在想要的。