zl程序教程

您现在的位置是:首页 >  前端

当前栏目

z-blogSyntaxHighlighter长代码无法换行解决办法(jquery)

jQuery代码 无法 解决办法 换行
2023-06-13 09:15:30 时间

由于我的博客主要是代码分享,很多贴的代码,都很长。很多时候我都是手动给他换行。

但是今天实在是受不了。从网上找个办法解决一下。

1、css修改:

在文件夹:\zb_system\ADMIN\ueditor\third-party\SyntaxHighlighter

在文件shCoreDefault.pack.css添加css:

复制代码代码如下:


body.syntaxhighlighter.line{    white-space:pre-wrap!important;}.syntaxhighlighter{width:100%!important;margin:.3em0.3em0!important;position:relative!important;overflow:auto!important;background-color:#f5f5f5!important;border:1pxsolid#ccc!important;word-break:break-all;

2、Jquery代码:

$(function(){
//Linewrapback
varshLineWrap=function(){
$(".syntaxhighlighter").each(function(){
//Fetch
var$sh=$(this),
$gutter=$sh.find("td.gutter"),
$code=$sh.find("td.code")
;
//Cyclethroughlines
$gutter.children(".line").each(function(i){
//Fetch
var$gutterLine=$(this),
$codeLine=$code.find(".line:nth-child("+(i+1)+")")
;
//alert($gutterLine);
//Fetchheight
varheight=$codeLine.height()||0;
if(!height){
height="auto";
}
else{
height=height+="px";
//alert(height);
}
//Copyheightover
$gutterLine.attr("<SPANstyle="WIDTH:auto;HEIGHT:auto;float:none"id=0_nwp><Astyle="TEXT-DECORATION:none"id=0_nwlhref="http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Esuchso%2Ecom%2Fprojecteactual%2Fz%2Dblog%2Djquery%2DSyntaxHighlighter%2Dlongcode%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=95053049_cpr&k=style&k0=%CE%C4%BC%FE%BC%D0&kdi0=32&k1=style&kdi1=1&k2=%B2%A9%BF%CD&kdi2=1&sid=77860fedb9413425&ch=0&tu=u1702844&jk=e7459084404b7b2f&cf=29&fv=15&stid=9&urlid=0&luki=2&seller_id=1&di=128"target=_blankmpid="0"><SPANstyle="WIDTH:auto;FLOAT:none;HEIGHT:auto;COLOR:#0000ff;FONT-SIZE:16px">style</SPAN></A></SPAN>","height:"+height+"!important");//fixbyEdi,forJQuery1.7+underFirefox15.0
console.debug($gutterLine.height(),height,$gutterLine.text(),$codeLine);
});
});
};
//Linewrapbackwhensyntaxhighlighterhasdoneit"sstuff
varshLineWrapWhenReady=function(){
if($(".syntaxhighlighter").length===0){
setTimeout(shLineWrapWhenReady,10);
}
else{
shLineWrap();
}
};
//Fire
shLineWrapWhenReady();});

上面的代码就是属于长代码。大家看看是不是都换行了??

现在,行号的高度就能和代码的高度保持一致了。