我自己写了个DZ门户。然后发现门户标题在DIY模块中无法显示完整,有的过长。
由于我就想到两个办法来解决,
1.截取标题的长度。即需要和JS交互,不过我没有找到相关的资料。没有实现。
2.对内容过长的标题进行左右滚动显示,即鼠标移上去,它进行滚动以显示完整。
我选择的第二种,同时,香港文汇报也是这样做的。
我的代码在本是的HTM单页中也实现了。没有问题。可是一放到自定义的模板中,就不行了。请大家指导下。代码如下:- <style type="text/css">
- .infocon1 { margin-bottom: 5px; width: 129px; padding-left:10px;}
- .infocon1 li {
- display: inline-block; padding-left: 13px; font-size: 12px; margin-left: 5px; overflow: hidden; width: 197px; line-height: 22px; white-space: nowrap; height: 22px
- }</style>
- <script type="text/javascript">
- <!--
- var interMove;
- function SearchEvent(){
- func = SearchEvent.caller;
- while(func != null) {
- var arg0 = func.arguments[0];
- if(arg0) {
- if(arg0.constructor == Event)
- return arg0;
- }
- func = func.caller;
- }
- return null;
- }
- function doMove(){
- if(window.event){
- var divMove = event.srcElement.parentNode;
- var aWidth = divMove.clientWidth;
- var bWidth = divMove.scrollWidth;
- if(aWidth < bWidth){
- interMove = setInterval(function(){ divMove.scrollLeft += 10; }, 200);
- }
- }
- else{
- var evt = SearchEvent();
- var divMove = evt.target;
- var aWidth = divMove.clientWidth;
- var bWidth = divMove.scrollWidth;
- if(aWidth < bWidth){
- interMove = setInterval(function(){ divMove.scrollLeft += 10; }, 200);
- }
- }
- if(document.all){
- divMove.attachEvent ('onmouseout', doReset);
- }
- else{
- divMove.addEventListener('mouseout', doReset, false);
- }
- }
- function doReset(){
- if(window.event){
- var divMove = event.srcElement;
- if(divMove.clientWidth < divMove.scrollWidth){
- clearInterval(interMove)
- divMove.scrollLeft = 0;
- }
- }
- else{
- var evt = SearchEvent();
- var divMove = evt.target;
- if(divMove.clientWidth < divMove.scrollWidth){
- clearInterval(interMove)
- divMove.scrollLeft = 0;
- }
- }
- }
- function add_Move(){
- var children = document.getElementsByTagName('a') || document.all;
- for(i = 0; i < children.length; i++)
- {
- if(children[i].id=='m')
- {
- if(document.all){
- children[i].attachEvent('onmouseover', doMove);
- }
- else{
- children[i].addEventListener('mouseover', doMove, false);
- }
- }
- }
- }
- window.attachEvent("onload", add_Move);
- //-->
- </script>
- <ul class="left infocon1">
- [loop]
- <li ><a id="m" href="{url}" title="{title}"{target}>{title}</a></li>
- [/loop]
- </ul>
复制代码 |