動態添加Marquee標簽,並動態賦值與屬性


前台加載js

$(function(){

var publishStr="<%=publishText%>"
var marqueeStr=" <marquee id=\"marquee0\" onmouseover=\"this.stop()\" onmouseout=\"this.start()\" direction=\""+direction+"\" scrollamount=\""+scrollamount+"\" scrolldelay=\""+scrolldelay+"\"></marquee>";
$("#pulishText_div").append(marqueeStr);
$("#marquee0").html(htmlDecode(publishStr));

})

 

對於publishText,是在后台htmlEncode編碼得到的

//主界面-公告-滾動內容設置

private void NoticeDataGet(string CustomerId)
{
string sql = string.Format(@"SELECT ConfigName,Src FROM dbo.TVipMemebershipCenterConfig WHERE ConfigCode='publishText' AND status='1' AND CustomerId=@CustomerId");
var bllInfo = UnityInvoker.GetBLLInfo(CustomerId, DbKeys.Biz);
DbParameterList paras = new DbParameterList();
paras.Add("@CustomerId", SqlDbType.VarChar, 50, CustomerId);
DataSet dataSet = UnityInvoker.BLLInvoke<IBLL_SQLHelper>(DataInvokeMode.LANDriectDB).
FillData(bllInfo, sql,paras);
DataTable dt = dataSet.Tables["FzTable"];
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
publishText += "<a href=\\\"" + HttpUtility.HtmlEncode(dr["Src"].ConvertString()) + "\\\">" +HttpUtility.HtmlEncode(dr["ConfigName"]) + "</a><br>";
}
}
else {
publishText += "<a href=\\\"javascript:void(0)\\\">公告內容,公告內容</a><br>";
}
}

所以要展現既有便簽,又通過編碼過的字符串,就要在前台進行特殊處理,解碼htmlDecode 

function htmlEncode ( str ) {

var ele = document.createElement('div');
ele.appendChild( document.createTextNode( str ) );
return ele.innerHTML;
}

function htmlDecode ( str ) {
var ele = document.createElement('div');
ele.innerHTML = str;
return ele;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。