您好,欢迎访问一九零五行业门户网

z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)_jquery

由于我的博客主要是代码分享,很多贴的代码,都很长。很多时候我都是手动给他换行。
但是今天实在是受不了。从网上找个办法解决一下。
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:.3em 0 .3em 0!important;position:relative!important;overflow:auto!important;background-color:#f5f5f5!important;border:1px solid #ccc!important;word-break:break-all;
2、jquery代码:
$(function () { // line wrap back var shlinewrap = function () { $('.syntaxhighlighter').each(function () { // fetch var $sh = $(this), $gutter = $sh.find('td.gutter'), $code = $sh.find('td.code') ; // cycle through lines $gutter.children('.line').each(function (i) { // fetch var $gutterline = $(this), $codeline = $code.find('.line:nth-child(' + (i + 1) + ')') ; //alert($gutterline); // fetch height var height = $codeline.height() || 0; if (!height) { height = 'auto'; } else { height = height += 'px'; //alert(height); } // copy height over $gutterline.attr('style', 'height: ' + height + ' !important'); // fix by edi, for jquery 1.7+ under firefox 15.0 console.debug($gutterline.height(), height, $gutterline.text(), $codeline); }); }); }; // line wrap back when syntax highlighter has done it's stuff var shlinewrapwhenready = function () { if ($('.syntaxhighlighter').length === 0) { settimeout(shlinewrapwhenready, 10); } else { shlinewrap(); } }; // fire shlinewrapwhenready();});
上面的代码就是属于长代码。大家看看是不是都换行了??
现在,行号的高度就能和代码的高度保持一致了。
其它类似信息

推荐信息