首页 > 编程知识 正文

html5,python文件内容比对

时间:2023-05-04 21:45:51 阅读:9692 作者:4783

以前,项目需求需要编写纯js文本比较工具。 在这里,编辑们在脚本家的平台上分享代码作为参考。 算法需要优化。 正文写得不好,敬请谅解。

先效图:

代码如下。

只要将源代码保存为html格式的文件,就可以直接执行

文本比较工具

html,body{

overflow-y :隐藏;

}

. edit_div{

border: px solid #CCCCCC;

Overflow :自动;

position: relative;

}

. edit_div textarea{

resize :无;

后台: nonerepeatscrolltransparent;

border :否;

width: %;

高: px;

overflow-y: scroll;

位置: absolute;

left: px;

top: px;

z-index:

font-size: px;

white-space :预失真;

魔兽世界: break-word;

魔兽世界: break-all;

}

. edit_div pre{

overflow-y: scroll;

white-space :预失真;

魔兽世界: break-word;

魔兽世界: break-all;

width: %;

高: px;

文本对齐:左对齐;

color: #ffffff;

z-index:

font-size: px;

}

function test_scroll

document.getelementbyid (edit _ pre _ ' ).scroll top=document.getelementbyid (edit _ textarea _ ' ).scrolltententbyid

document.getelementbyid (edit _ pre _ ' ).scrolltop=document.getelementbyid (edit _ pre _ ' ).scroll top;

document.getelementbyid (edit _ textarea _ ' ).scroll top=document.getelementbyid (edit _ textarea _ ' ).SCC u u u mmid

}

function test_scroll

document.getelementbyid (edit _ pre _ ' ).scroll top=document.getelementbyid (edit _ textarea _ ' ).scrolltententbyid

document.getelementbyid (edit _ pre _ ' ).scrolltop=document.getelementbyid (edit _ pre _ ' ).scroll top;

document.getelementbyid (edit _ textarea _ ' ).scroll top=document.getelementbyid (edit _ textarea _ ' ).SCC u u u mmid

}

功能文本更改

varop=eq (value : document.getelementbyid (edit _ textarea _ ' ).value,value : document.getelementbyid ) )

document.getelementbyid (edit _ pre _ ).innerHTML=op.value 'rn ';

document.getelementbyid (edit _ pre _ ).innerHTML=op.value 'rn ';

}

函数eq (op ) {

if (! op}{

返回操作;

}

if (! op.value_style ) {

op.value _ style=' background-color : # fecc;' ;

}

if (! op.value_style ) {

op.value _ style=' background-color : # fecc;' ;

}

if (! op.eq_m

in){

op.eq_min=;

}

if(!op.eq_index){

op.eq_index=;

}

if (!op.value || !op.value) {

return op;

}

var ps = {

v_i: ,

v_new_value: "",

v_i: ,

v_new_value: ""

};

while (ps.v_i < op.value.length && ps.v_i < op.value.length) {

if (op.value[ps.v_i] == op.value[ps.v_i]) {

ps.v_new_value += op.value[ps.v_i].replace(/",">");

ps.v_new_value += op.value[ps.v_i].replace(/",">");

ps.v_i += ;

ps.v_i += ;

if (ps.v_i >= op.value.length) {

ps.v_new_value += "" + op.value.substr(ps.v_i).replace(/",">") + "";

break;

}

if (ps.v_i >= op.value.length) {

ps.v_new_value += "" + op.value.substr(ps.v_i).replace(/",">") + "";

break;

}

} else {

ps.v_index = ps.v_i + ;

ps.v_eq_length = ;

ps.v_eq_max = ;

ps.v_start = ps.v_i + ;

while (ps.v_index < op.value.length) {

if (op.value[ps.v_index] == op.value[ps.v_i + ps.v_eq_length]) {

ps.v_eq_length += ;

} else if (ps.v_eq_length > ) {

if (ps.v_eq_max < ps.v_eq_length) {

ps.v_eq_max = ps.v_eq_length;

ps.v_start = ps.v_index - ps.v_eq_length;

}

ps.v_eq_length = ;

break;//只寻找最近的

}

ps.v_index += ;

}

if (ps.v_eq_max < ps.v_eq_length) {

ps.v_eq_max = ps.v_eq_length;

ps.v_start = ps.v_index - ps.v_eq_length;

}

ps.v_index = ps.v_i + ;

ps.v_eq_length = ;

ps.v_eq_max = ;

ps.v_start = ps.v_i + ;

while (ps.v_index < op.value.length) {

if (op.value[ps.v_index] == op.value[ps.v_i + ps.v_eq_length]) {

ps.v_eq_length += ;

} else if (ps.v_eq_length > ) {

if (ps.v_eq_max < ps.v_eq_length) {

ps.v_eq_max = ps.v_eq_length;

ps.v_start = ps.v_index - ps.v_eq_length;

}

ps.v_eq_length = ;

break;//只寻找最近的

}

ps.v_index += ;

}

if (ps.v_eq_max < ps.v_eq_length) {

ps.v_eq_max = ps.v_eq_length;

ps.v_start = ps.v_index - ps.v_eq_length;

}

if (ps.v_eq_max < op.eq_min && ps.v_start - ps.v_i > op.eq_index) {

ps.v_eq_max = ;

}

if (ps.v_eq_max < op.eq_min && ps.v_start - ps.v_i > op.eq_index) {

ps.v_eq_max = ;

}

if ((ps.v_eq_max == && ps.v_eq_max == )) {

ps.v_new_value += "" + op.value[ps.v_i].replace(/",">") + "";

ps.v_new_value += "" + op.value[ps.v_i].replace(/",">") + "";

ps.v_i += ;

ps.v_i += ;

if (ps.v_i >= op.value.length) {

ps.v_new_value += "" + op.value.substr(ps.v_i).replace(/",">") + "";

break;

}

if (ps.v_i >= op.value.length) {

ps.v_new_value += "" + op.value.substr(ps.v_i).replace(/",">") + "";

break;

}

} else if (ps.v_eq_max > ps.v_eq_max) {

ps.v_new_value += "" + op.value.substr(ps.v_i, ps.v_start - ps.v_i).replace(/",">") + "";

ps.v_i = ps.v_start;

} else {

ps.v_new_value += "" + op.value.substr(ps.v_i, ps.v_start - ps.v_i).replace(/",">") + "";

ps.v_i = ps.v_start;

}

}

}

op.value = ps.v_new_value;

op.value = ps.v_new_value;

return op;

}

function settextheight(){

var heigth=(document.documentElement.clientHeight-)+"px"

document.getElementById("edit_pre_").style.height=heigth;

document.getElementById("edit_textarea_").style.height=heigth;

document.getElementById("edit_pre_").style.height=heigth;

document.getElementById("edit_textarea_").style.height=heigth;

}

window.οnlοad=function(){

settextheight();

window.οnresize=function(){

settextheight();

}

}

以上代码是使用的纯JavaScript代码实现文本比较工具,希望对大家有所帮助!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。