我正在使用 jquery.autoellipsis-1.0.10.js 制作一个 2 行省略号。这些页面是用经典的 ASP 制作的。初始页面加载省略号效果很好。我们通过一种非常古老的方法进行分页,页面在 iframe 中运行,然后重写 div 标签的 innerHTML。但是,当通过 iframe 加载时,省略号不起作用。
这是来自 IFRAME 的代码:
<%
pstrOut = "<div class=""block"">Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit</div>"
%>
<html>
<head>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="/js/jquery.autoellipsis-1.0.10.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("div.block").ellipsis();
});
</script>
<style type="text/css">
div.block {
width:<%=nVideoWidth%>px;
max-height:30px;
min-height:15px;
}
</style>
<script language="javascript" type="text/javascript">
var jstr = '';
<%=cUtil.ToJS(pstrOut,"jstr") %>
top.parent.document.getElementById('TargetDIV').innerHTML = jstr;
</script>
</head>
cUtil.ToJS:
<%
Function toJS(val,valVar)
Dim pstrOut
If isNull(val) Then
Exit Function
End If
If valVar = "" Then
valVar = "jstr"
End If
Select Case valVar
Case "-1"
pstrOut = Replace(val, "'", "\'")
pstrOut = Replace(pstrOut, ";", "\;")
pstrOut = Replace(pstrOut, ",", "\,")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut, vbCr, "\n';")
toJS = pstrOut
Case "0"
pstrOut = Replace(val, "'", "")
pstrOut = Replace(pstrOut, ";", "")
pstrOut = Replace(pstrOut, ",", " ")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut, vbCr, "")
toJS = pstrOut
Case Else
pstrOut = Replace(val, "'", "\'")
pstrOut = Replace(pstrOut, ";", "\;")
pstrOut = Replace(pstrOut, ",", "\,")
pstrOut = Replace(pstrOut,vbLF,vbCr)
pstrOut = Replace(pstrOut,vbCrLf,vbCr)
pstrOut = Replace(pstrOut, vbCr, "\n';" & vbCr & valVar & " += '")
toJS = valVar & " += '" & pstrOut & "\n';" & vbCr
End Select
End Function
一旦 iframe 运行并输出到父页面,我需要省略号在父页面上工作。任何想法,因为我对 jQuery 几乎一无所知。任何帮助将不胜感激。
谢谢!