当前位置: 首页 > news >正文

wordpress add_action 是什么意思/广告优化师前景怎样

wordpress add_action 是什么意思,广告优化师前景怎样,网网站制作,怎么获取网站数据做统计数据设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性。 责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者。 计算器的基本样式: 通过divcss定义计算器的样式,并在每个按…

设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性。
责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者。
计算器的基本样式:
410508-20181115195634104-1861575595.png

通过div+css定义计算器的样式,并在每个按钮上绑定事件响应按钮输入。

  • 输入的元素为数字、小数点、加减乘除运算符时,都是直接显示。
  • 输入为清除所有、清除上一次时直接清除。
  • 输入为等号、百分比、开根号、乘方、分之一时,开始计算。
    同时在输入框下面显示上次运算的公式。

    1.定义责任元素的基类

    包括变量next指向他的后继者,方法setNext设置它的后继者,方法handleRequest处理请求。
InputHandler = function () {this.next = null;this.setNext = function(handler) {this.next = handler;};this.handleRequest = function(currentInput,allInput) {}
}

2.定义责任元素

定义每个责任链元素应该处理的范围

<!-- 处理数字键 -->
NumberHandler = function (){this.NumberKeyArray = ["0","1","2","3","4","5","6","7","8","9"];}
NumberHandler.prototype = new InputHandler();
NumberHandler.prototype.handleRequest = function(currentInput,allInput) {var isNumber = $.inArray(currentInput,this.NumberKeyArray);if(isNumber!=-1){var temp = allInput+currentInput;return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}
}
<!-- 定义以下责任元素分别用来处理不同的输入键 -->
<!-- 处理操作符 -->
OperatorHandler = function () {this.OperatorArray=["+","-","/","*"];}
<!-- 清空所有 -->
ClearAllHandler = function (){}
<!-- 清除最后一次输入 -->
ClearLatestKeyHandler = function (){}
<!-- 直接计算 -->
ImmediateComputeHandler = function () {this.ImmediateComputeKeyArray=["x²","¼","%","√","="];}
<!-- 小数点 -->
PointHandler = function () {}

3.组成责任链

var numberHandler = new NumberHandler();
var operatorHandler = new OperatorHandler();
var clearAllHandler = new ClearAllHandler();
var clearLatestKeyHandler = new ClearLatestKeyHandler();
var immediateComputeHandler = new ImmediateComputeHandler();
var pointHandler = new PointHandler();numberHandler.setNext(operatorHandler);
operatorHandler.setNext(clearAllHandler);
clearAllHandler.setNext(clearLatestKeyHandler);
clearLatestKeyHandler.setNext(immediateComputeHandler);
immediateComputeHandler.setNext(pointHandler);

4. 责任链调用处理

var currentInput = this.title;
var allInput=$("#result").val();var temp=numberHandler.handleRequest(currentInput,allInput);
$("#result").val(temp);

5.完整代码

<html>
<head><title>Web版本计算器</title><link rel="stylesheet" href="./css/bootstrap.css"/><script type="text/javascript" src="./js/jquery-3.3.1.js"></script><style type="text/css">body {background-color:LightGrey;Color:black;}.display-border {border-style:solid;border-width:1px;border-color:Orange}.calculator-row {margin-top:5px;}.calculator-btn {width:100%;}</style><script type="text/javascript">$(function(){var numberHandler = new NumberHandler();var operatorHandler = new OperatorHandler();var clearAllHandler = new ClearAllHandler();var clearLatestKeyHandler = new ClearLatestKeyHandler();var immediateComputeHandler = new ImmediateComputeHandler();var pointHandler = new PointHandler();numberHandler.setNext(operatorHandler);operatorHandler.setNext(clearAllHandler);clearAllHandler.setNext(clearLatestKeyHandler);clearLatestKeyHandler.setNext(immediateComputeHandler);immediateComputeHandler.setNext(pointHandler);$(".calculator-btn").click(function(){var currentInput = this.title;var allInput=$("#result").val();var temp=numberHandler.handleRequest(currentInput,allInput);$("#result").val(temp);var index1=temp.indexOf("+");var index2=temp.indexOf("-");var index3=temp.indexOf("*");var index4=temp.indexOf("/");if(index1==-1&index2==-1&index3==-1&index4==-1){$("#computeItem").val(allInput);}});});InputHandler = function () {this.next = null;this.setNext = function(handler) {this.next = handler;};this.handleRequest = function(currentInput,allInput) {}}<!-- 处理数字键 -->NumberHandler = function (){this.NumberKeyArray = ["0","1","2","3","4","5","6","7","8","9"];}NumberHandler.prototype = new InputHandler();NumberHandler.prototype.handleRequest = function(currentInput,allInput) {var isNumber = $.inArray(currentInput,this.NumberKeyArray);if(isNumber!=-1){var temp = allInput+currentInput;return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}<!-- 处理操作符 -->OperatorHandler = function () {this.OperatorArray=["+","-","/","*"];}OperatorHandler.prototype = new InputHandler();OperatorHandler.prototype.handleRequest = function(currentInput,allInput) {var isOperator=$.inArray(currentInput,this.OperatorArray);if(isOperator!=-1){var temp="";if(allInput.length!=0){var lastChar = allInput.substr(allInput.length-1,1);var tempIsOperator = $.inArray(lastChar,this.OperatorArray);if(tempIsOperator==-1){temp=allInput+currentInput;}else{temp=allInput;}}return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}<!-- 清空所有 -->ClearAllHandler = function (){}ClearAllHandler.prototype = new InputHandler();ClearAllHandler.prototype.handleRequest = function(currentInput,allInput) {if(currentInput=="C"){var temp = "";return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}<!-- 清除最后一次输入 -->ClearLatestKeyHandler = function (){}ClearLatestKeyHandler.prototype = new InputHandler();ClearLatestKeyHandler.prototype.handleRequest = function(currentInput,allInput) {if(currentInput=="<-"){var temp="";if(allInput.length > 0){temp=allInput.substr(0,allInput.length-1);}return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}<!-- 直接计算 -->ImmediateComputeHandler = function () {this.ImmediateComputeKeyArray=["x²","¼","%","√","="];}ImmediateComputeHandler.prototype = new InputHandler();ImmediateComputeHandler.prototype.handleRequest = function(currentInput,allInput) {if(allInput.length<=1){return allInput;}var isCompute=$.inArray(currentInput,this.ImmediateComputeKeyArray);if(isCompute!=-1){var result=computeResult(allInput)switch(isCompute){case 0:result=result*result;break;case 1:if(result!=0){result=1/result;}break;case 2:result=readonly/100;break;case 3:if(result<0){result=0;}else{result=Math.sqrt(result);}break;}return result+"";}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}<!-- 小数点 -->PointHandler = function () {}PointHandler.prototype = new InputHandler();PointHandler.prototype.handleRequest = function(currentInput,allInput) {if(currentInput=="."){var temp=allInput;if(allInput.length!=0){var containPoint = allInput.indexOf(".");if(containPoint==-1){temp=allInput+currentInput;}}return temp;}else{if(this.next){return this.next.handleRequest(currentInput,allInput);}}}function computeResult(allInput){var computeItemArray=getComputeItemArray(allInput);computeItemArray =computeCore(computeItemArray,"*");if(computeItemArray.length!=1){computeItemArray =computeCore(computeItemArray,"/");} if(computeItemArray.length!=1){computeItemArray =computeCore(computeItemArray,"+");}if(computeItemArray.length!=1){computeItemArray =computeCore(computeItemArray,"-");}return parseFloat(computeItemArray[0]);}function computeCore(computeItemArray,operator){var opIndex=$.inArray(operator,computeItemArray);while(opIndex!=-1){var num1 = parseFloat(computeItemArray[opIndex-1]);var num2 = parseFloat(computeItemArray[opIndex+1]);var result;switch(operator){case "+":result=num1+num2;break;case "-":result=num1-num2;break;case "*":result=num1*num2;result=Math.round(result*100)/100;break;case "/":result=num1/num2;result=Math.round(result*100)/100;break;}computeItemArray.splice(opIndex-1,3,result+"");opIndex=$.inArray(operator,computeItemArray);}return computeItemArray;}function getComputeItemArray(allInput){var computeItemArray =[];var totalLength=allInput.length;var operatorArray=["+","-","/","*"];var i=0;while(i<totalLength){var j=i;for(;j<totalLength;j++){var tempChar=allInput[j];var isOperator=$.inArray(tempChar,operatorArray);if(isOperator!=-1){break;}}var tempStr="";if(i==j){tempStr= allInput.substr(i,1);i=j+1;}else{tempStr= allInput.substring(i,j);i=j;}computeItemArray.push(tempStr);}var lastItem=computeItemArray[computeItemArray.length-1];var isOperator=$.inArray(lastItem,operatorArray);if(isOperator!=-1){computeItemArray.pop();}return computeItemArray;}</script>
</head>
<body><div class="container"><div class="row"><div class="col-4 offset-4 display-border" style="margin-top:50px;"><div class="row"><h3>计算器</h3></div><div class="row calculator-row"><input id="result" type="text" class="w-100" readonly="readonly"></input></div><div class="row calculator-row"><input id="computeItem" type="text" class="w-100" readonly="readonly"></input></div><div class="row calculator-row"><div class="col"><button id="percent" type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="%" >%</button></div><div class="col"><button id="" type="button" class="btn btn-info calculator-btn"  data-toggle="tooltip" data-placement="top" title="√">√</button></div><div class="col"><button type="button" class="btn btn-info calculator-btn"  data-toggle="tooltip" data-placement="top" title="x²">x²</button></div><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="¼">¼</button></div></div><div class="row calculator-row"><div class="col-6"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="C">Clear</button>                       </div><div class="col-3"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="<-"><-</button></div><div class="col-3"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="/">÷</button></div></div><div class="row calculator-row"><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="7">7</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="8">8</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="9">9</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="*">×</button></div></div><div class="row calculator-row"><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="4">4</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="5">5</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="6">6</button></div><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="-">-</button></div></div><div class="row calculator-row"><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="1">1</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="2">2</button></div>                                                                                    <div class="col">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="3">3</button></div><div class="col"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="+">+</button></div></div><div class="row calculator-row"><div class="col-6"><button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="0">0</button></div>                                                                                    <div class="col-3">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title=".">.</button></div>                                                                                    <div class="col-3">                                                                         <button type="button" class="btn btn-info calculator-btn" data-toggle="tooltip" data-placement="top" title="=">=</button></div></div></div></div></div>
</body>
</html>

转载于:https://www.cnblogs.com/DreamOfLife/p/9965742.html

http://www.jmfq.cn/news/5300839.html

相关文章:

  • wordpress个人中心没有反应/广东网站优化公司
  • 福清建设银行网站/站长工具是干嘛的
  • 景德镇网站建设公司/重庆网页搜索排名提升
  • 免费微网站建站系统源码/seo优化排名易下拉用法
  • dede网站栏目管理空白/网站平台怎么推广
  • 申报网站建设理由 模板/搜索引擎优化答案
  • 云南网站建设公司排名/千锋教育课程
  • 河南省监理建设协会网站/黄页大全
  • 比较好的国外网站建设公司/免费的网络营销方式
  • 水贝做网站公司/旺道seo优化
  • 广州化妆品网站制作/seo推广优化平台
  • 南京网站建设招聘/产品网络推广方式
  • 易语言对做网站有什么帮助/太仓seo网站优化软件
  • 网站建设方面的书/品牌推广营销
  • 武汉网站建设哪家最好?/最近新闻
  • 做视频网站弹窗/宁波网站推广运营公司
  • 如何使用模板网站建设网页/中国站长站官网
  • 上海展台搭建商/怎么样做免费的百度seo
  • 专业的门户网站建设方案/网络营销公司招聘
  • 网站备案证书下载不了/青岛优化网站关键词
  • 有用element做网站的/济南优化网站关键词
  • 网站后台管理系统摘要怎么写/信息流广告优化
  • 注册网站的步骤/怎样自己开发一款软件
  • 湖北微网站建设报价/百度网站快速排名公司
  • 抖音代运营合同范标准版/南昌百度seo
  • uc网站怎么做/seo的形式有哪些
  • wordpress教程登陆/window优化大师官网
  • b2b网站推广技巧/企业seo推广外包
  • 网站建设免费空间哪里有/媒体公关是做什么的
  • 深圳营销型网站/品牌推广策略分析