当前位置: 代码迷 >> PHP >> Smarty 给JS文件传值的有关问题
  详细解决方案

Smarty 给JS文件传值的有关问题

热度:78   发布时间:2016-04-29 01:14:40.0
Smarty 给JS文件传值的问题
index.php
$smarty->assign("txt_qq1",json_encode($txt_qq1));

index.html
<script language="JavaScript" src="templates/QQ/3yb.js"></script>
直接调用的js文件,其实就是QQ浮动的js文件。

syb.js
JScript code
var delta=0.15;    var collection;    function floaters() {        this.items    = [];        this.addItem    = function(id,x,y,content)                  {                    document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute;  width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');                                        var newItem                = {};                    newItem.object            = document.getElementById(id);                    newItem.x                = x;                    newItem.y                = y;                    this.items[this.items.length]        = newItem;                  }        this.play    = function()                  {                    collection                = this.items                    setInterval('play()',10);                  }        }        function play()        {            for(var i=0;i<collection.length;i++)            {                var followObj        = collection[i].object;                var followObj_x        = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);                var followObj_y        = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);                if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {                    var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;                    dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));                    followObj.style.left=followObj.offsetLeft+dx;                    }                if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {                    var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;                    dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));                    followObj.style.top=followObj.offsetTop+dy;                    }                followObj.style.display    = '';            }        }                var theFloaters        = new floaters();    theFloaters.addItem('followDiv1','document.body.clientWidth-110',100,'[color=#FF0000]{$txt_qq1}[/color]');    theFloaters.play();



问题,我是想通过 $smarty->assign("txt_qq1",json_encode($txt_qq1)); 传值给 html 中js文件{$txt_qq1}'。
新手真是不知道该怎么操作了,请各位多帮忙

------解决方案--------------------
通过smarty传值也只能传到 index.html 文件。你可以这样做:
<input type="hidden" id="aa" value={$txt_qq1} />

然后用js来取id=aa的值不就行了。