jQuery日历插件编写(jquery.calendar.js):
目前比较难解决的问题是:
1、皮肤问题,虽然可以自定义皮肤,但是使用起来还是有一定的困难。
样式预览:
默认皮肤1:
自定义皮肤2:(深蓝)
自定义皮肤3:(大红)
自定义皮肤4:炫酷黑
调用:
[javascript] view plain
copy
print ?
$( ".startTime" ).showCalendar({
bgColor:"#000000" ,
topColor:"#000000" ,
weekBgColor:"#000000" ,
weekFontColor:"#FFFFFF" ,
innerBorder:"1px solid #FFFFFF" ,
ymFontColor:'#FFFFFF' ,
ymBgColor:'#000000' ,
ymHoverBgColor:'#00CCCC' ,
arrowColor:"#FFFFFF" ,
noThisMonthFontColor:'#9F9F9F' ,
thisMonthFontColor:'#FFFFFF' ,
thisMonthBgColor:'#000000' ,
dateHoverFontColor:'#FFFFFF' ,
dateHoverBgColor:'#00CCCC' ,
tableBorder:'1px solid #FFFFFF' ,
btnBorder:'0' ,
btnBgColor:'#000000' ,
btnFontColor:'#FFFFFF' ,
btnHoverBgColor:'#00CCCC' ,
btnHoverFontColor:'#FFFFFF'
});
$(".startTime").showCalendar({
bgColor:"#000000",
topColor:"#000000",
weekBgColor:"#000000",
weekFontColor:"#FFFFFF",
innerBorder:"1px solid #FFFFFF",
ymFontColor:'#FFFFFF',
ymBgColor:'#000000',
ymHoverBgColor:'#00CCCC',
arrowColor:"#FFFFFF",
noThisMonthFontColor:'#9F9F9F',
thisMonthFontColor:'#FFFFFF',
thisMonthBgColor:'#000000',
dateHoverFontColor:'#FFFFFF',
dateHoverBgColor:'#00CCCC',
tableBorder:'1px solid #FFFFFF',
btnBorder:'0',
btnBgColor:'#000000',
btnFontColor:'#FFFFFF',
btnHoverBgColor:'#00CCCC',
btnHoverFontColor:'#FFFFFF'
});
参数:
[javascript] view plain
copy
print ?
var defaultOptions = {
className:'strongCalendar' ,
format:'yyyy-MM-dd' ,
height:220,
width:$(this ).innerWidth(),
marginTop:1,
zIndex:99,
spaceWidth:8,
fontSize:9,
bgColor:'#FFFFFF' ,
borderColor:"#AFAFAF" ,
topColor:'#FFFFFF' ,
ymFontColor:'#535353' ,
ymBgColor:'#FFFFFF' ,
ymHoverBgColor:'#EFEFEF' ,
arrowColor:'#535353' ,
innerBorder:'1px solid #AFAFAF' ,
tableBorder:'0px solid #AFAFAF' ,
weekBgColor:'#EFEFEF' ,
weekFontColor:'#535353' ,
noThisMonthFontColor:'#CFCFCF' ,
thisMonthFontColor:'#535353' ,
thisMonthBgColor:'#FFFFFF' ,
dateHoverFontColor:'#3399CC' ,
dateHoverBgColor:'#EFEFEF' ,
btnBorder:'1px solid #AFAFAF' ,
btnBgColor:'#FFFFFF' ,
btnFontColor:'#535353' ,
btnHoverBgColor:'#EFEFEF' ,
btnHoverFontColor:'#3399CC'
};
var defaultOptions = {
//class名称
className:'strongCalendar',
//日历格式'yyyy-MM-dd'('yyyy-MM-dd','yyyy年MM月dd日')
format:'yyyy-MM-dd',
//高度,默认220px
height:220,
//宽度:默认与文本框宽度相同
width:$(this).innerWidth(),
//日历框离文本框高度
marginTop:1,
//浮层z-index
zIndex:99,
//间隙距离,默认为5px
spaceWidth:8,
//字体大小,默认9pt
fontSize:9,
//日历背景色
bgColor:'#FFFFFF',
//默认浅灰色
borderColor:"#AFAFAF",
//顶部背景颜色,默认为淡灰色
topColor:'#FFFFFF',
//当前年月字体颜色
ymFontColor:'#535353',
//年月份操作背景色
ymBgColor:'#FFFFFF',
//年月份移上背景色
ymHoverBgColor:'#EFEFEF',
//箭头颜色
arrowColor:'#535353',
//里层边框
innerBorder:'1px solid #AFAFAF',
//表格边框
tableBorder:'0px solid #AFAFAF',
//星期背景颜色
weekBgColor:'#EFEFEF',
//星期字体颜色
weekFontColor:'#535353',
//上个月和下个月日期的字体颜色
noThisMonthFontColor:'#CFCFCF',
//这个月的日期字体颜色
thisMonthFontColor:'#535353',
//这个的日期背景颜色
thisMonthBgColor:'#FFFFFF',
//日期移上时字体颜色
dateHoverFontColor:'#3399CC',
//日期移上时字体颜色
dateHoverBgColor:'#EFEFEF',
//button边框
btnBorder:'1px solid #AFAFAF',
//button背景色
btnBgColor:'#FFFFFF',
//button字体颜色
btnFontColor:'#535353',
//button鼠标移上颜色
btnHoverBgColor:'#EFEFEF',
//button鼠标移上字体颜色
btnHoverFontColor:'#3399CC'
};
测试代码:
无标题文档
具体jquery.calendar.js
[javascript] view plain
copy
print ?
;(function ($){
jQuery.fn.extend({
showCalendar:function (options){
var defaultOptions = {
className:'strongCalendar' ,
format:'yyyy-MM-dd' ,
height:220,
width:$(this ).innerWidth(),
marginTop:1,
zIndex:99,
spaceWidth:8,
fontSize:9,
bgColor:'#FFFFFF' ,
borderColor:"#AFAFAF" ,
topColor:'#FFFFFF' ,
ymFontColor:'#535353' ,
ymBgColor:'#FFFFFF' ,
ymHoverBgColor:'#EFEFEF' ,
arrowColor:'#535353' ,
innerBorder:'1px solid #AFAFAF' ,
tableBorder:'0px solid #AFAFAF' ,
weekBgColor:'#EFEFEF' ,
weekFontColor:'#535353' ,
noThisMonthFontColor:'#CFCFCF' ,
thisMonthFontColor:'#535353' ,
thisMonthBgColor:'#FFFFFF' ,
dateHoverFontColor:'#3399CC' ,
dateHoverBgColor:'#EFEFEF' ,
btnBorder:'1px solid #AFAFAF' ,
btnBgColor:'#FFFFFF' ,
btnFontColor:'#535353' ,
btnHoverBgColor:'#EFEFEF' ,
btnHoverFontColor:'#3399CC'
};
var settings = jQuery.extend(defaultOptions,options || {}),
$body = $("body" ),
date = new Date(),
currentYear = date.getFullYear(),
currentMonth = date.getMonth(),
monthDay = [],
lineHeight = parseInt(settings.height-4*settings.spaceWidth)/9,
$calendar,
$target = $(this ),
current ;
Number.prototype.addZero = function (){
return this <10? "0" + this : this ;
};
var Calendar = {
weeks : ['日' , '一' , '二' , '三' , '四' , '五' , '六' ],
months : [31,0,31,30,31,30,31,31,30,31,30,31],
loadCalendar:function (){
$body.append("+settings.className+ ">
" );
$calendar = $("." +settings.className);
$calendar.append(Calendar.innerHTML());
Calendar.styleLoader();
Calendar.loaderDate(currentYear,currentMonth);
Calendar.dateEvent();
},
innerHTML:function (){
var htmlContent = {};
htmlContent = "" +
"" +
""+
"清空 " +
"今天 " +
"确定 " +
" " ;
return htmlContent;
},
styleLoader:function (){
$calendar = $("." +settings.className);
$calendar.css({"border-width" : "1px" ,
"border-color" :settings.borderColor,
"background-color" :settings.bgColor,
"border-style" : "solid" ,
"height" :settings.height,
"width" :settings.width,
"z-index" :settings.zIndex,
"font-size" :settings.fontSize+ "pt"
});
Calendar.setLocation();
var $calHead=$calendar.find( ".cal_head" ),
$operDate=$calendar.find(".oper_date" ),
$arrow=$calHead.find(".arrow" ),
$center=$calendar.find(".cal_center" ),
$ctable=$center.find("table" ),
arrowWidth = 6,
$calBottom = $calendar.find(".cal_bottom" );
$calHead.css({"height" :lineHeight+2*settings.spaceWidth,
"background-color" :settings.topColor
});
$operDate.css({"margin-top" :settings.spaceWidth,
"margin-left" :settings.spaceWidth,
"float" : "left" ,
"border" :settings.innerBorder,
"text-align" : "center"
});
$operDate.outerWidth(($calHead.width()-3*settings.spaceWidth)/2);
$operDate.outerHeight(lineHeight);
$operDate.find(".operb" )
.css({"width" : "20px" ,
"background" :settings.ymBgColor,
"height" :$operDate.innerHeight(),
"cursor" : "pointer"
});
$operDate.find(".year_sub,.month_sub" )
.css({"float" : "left" , "border-right" :settings.innerBorder});
$operDate.find(".year_add,.month_add" )
.css({"float" : "right" , "border-left" :settings.innerBorder});
$operDate.find("span" )
.css({"color" :settings.ymFontColor,
"line-height" :$operDate.height()+ "px"
});
$operDate.find(".aLeft" )
.arrow({"direction" : "left" ,
"width" :arrowWidth,
"height" :arrowWidth*2,
"color" :settings.arrowColor
});
$operDate.find(".aRight" )
.arrow({"direction" : "right" ,
"width" :arrowWidth,
"height" :arrowWidth*2,
"color" :settings.arrowColor
});
$arrow.css({
"margin" : "0 auto" ,
"margin-top" :parseInt($operDate.innerHeight())/2-arrowWidth
});
$center.css({
"border" :settings.innerBorder,
"margin-left" :settings.spaceWidth,
"overflow" : 'hidden'
});
$center.outerWidth($calendar.width()-2*settings.spaceWidth);
$center.height(lineHeight*7);
$ctable.find("td" ).css({ "text-align" : "center" });
$calBottom.css({"margin-right" :settings.spaceWidth});
$calBottom.find("button" )
.css({"border" :settings.btnBorder,
"background" :settings.btnBgColor,
"color" :settings.btnFontColor,
"margin-top" :settings.spaceWidth,
"margin-left" :settings.spaceWidth,
"float" : "right" , "width" : "20%"
});
$calBottom.find("button" ).outerHeight(lineHeight);
$("." +settings.className+ " button" ).focus( function (){ this .blur()});
$operDate.find(".operb" ).hover( function (){
$(this ).css( "background" ,settings.ymHoverBgColor);
},function (){
$(this ).css( "background" ,settings.ymBgColor);
});
$calBottom.find("button" ).hover( function (){
$(this ).css({ "background" :settings.btnHoverBgColor, "color" :settings.btnHoverFontColor});
},function (){
$(this ).css({ "background" :settings.btnBgColor, "color" :settings.btnFontColor});
});
},
dateEvent:function (){
var $calendar = $( "." +settings.className);
$calendar.find(".year_add" ).click( function (){Calendar.yearAdd();});
$calendar.find(".year_sub" ).click( function (){Calendar.yearSub();});
$calendar.find(".month_add" ).click( function (){Calendar.monthAdd();});
$calendar.find(".month_sub" ).click( function (){Calendar.monthSub();});
$calendar.find(".confirm_date" ).click( function (){Calendar.confirm();});
$calendar.find(".today_date" ).click( function (){Calendar.getToday();});
$calendar.find(".clear_date" ).click( function (){Calendar.clear();});
},
date:function (){
var $calendar = $( "." +settings.className);
return {
year:parseInt($calendar.find(".current_year" ).html()),
month:parseInt($calendar.find(".current_month" ).html())
};
},
yearAdd:function (){
Calendar.loaderDate(Calendar.date().year+1,Calendar.date().month-1);
},
yearSub:function (){
Calendar.loaderDate(Calendar.date().year-1,Calendar.date().month-1);
},
monthAdd:function (){
var year = Calendar.date().year, month = Calendar.date().month;
if (month==12) {
month=1;
year=year+1;
} else {
month=month+1;
}
Calendar.loaderDate(year,month-1);
},
monthSub:function (){
var year = Calendar.date().year, month = Calendar.date().month;
if (month==1) {
month=12;
year=year-1;
} else {
month=month-1;
}
Calendar.loaderDate(year,month-1);
},
dateChoose:function ($object){
var year = Calendar.date().year, month = Calendar.date().month;
if ($object.hasClass( "pre_month_day" )) {
if (month == 1) {
year = year-1;
month = 12;
} else {
month = (month-1).addZero();
}
} else if ($object.hasClass( "this_month_day" )) {
month = month.addZero();
} else {
if (month == 12) {
month = "01" ;
year = year + 1;
} else {
month = (month+1).addZero();
}
}
current.val(year+"-" +month+ "-" +$object.text());
},
confirm:function (){
Calendar.destory();
},
isLeapYear:function (year){
if ((year%4==0 && year%100!=0) || (year%400==0)) {
return true ;
}
return false ;
},
februaryDays:function (year){
if ( typeof year !== "undefined" && parseInt(year) === year) {
return Calendar.isLeapYear(year) ? 29:28;
}
return false ;
},
getWeek:function (num){
return Calendar.weeks[num];
},
getMonthDay:function (year,month){
if (month === 1){
return Calendar.februaryDays(year);
}
month=(month===-1)?11:month;
return Calendar.months[month];
},
getToday:function (){
var date = new Date(),
year = date.getFullYear(),
month = (date.getMonth()+1).addZero(),
day = date.getDate().addZero();
current.val(year+"-" +month+ "-" +day);
Calendar.destory();
},
clear:function (){
current.val("" );
Calendar.destory();
},
setLocation:function (){
$calendar = $("." +settings.className);
var left = current.offset().left,
top = current.offset().top + current.innerHeight() + settings.marginTop;
$calendar.css({"position" : "absolute" , "left" :left, "top" :top});
},
destory:function (){
$("." +settings.className).empty().remove();
},
loaderDate:function (year,month){
var oneWeek= new Date(year,month,1).getDay(),
$calendar = $("." +settings.className),
$calTable = $calendar.find("table" ),
thisMonthDay = Calendar.getMonthDay(year,month),
preMonthDay;
$calTable.html("" );
$calendar.find(".current_year" ).text(year+ "年" );
$calendar.find(".current_month" ).text((month+1)+ "月" );
if (oneWeek == 0) oneWeek = 7;
if (i==0) {
preMonthDay = Calendar.getMonthDay(year-1,11);
} else {
preMonthDay = Calendar.getMonthDay(year,month-1);
}
var start = 1, end = 1;
for ( var i=0;i<7;i++) {
var dayHTML = "" ;
if (i==0) {
$calTable.append("");
}
for ( var j=1;j<=7;j++) {
if (i==0) {
$calTable.find(".week_head" ).append( " "+Calendar.getWeek(j-1)+ " ");
} else {
if ((i-1)*7+j<=oneWeek) {
dayHTML+=" "+(preMonthDay-oneWeek+j)+ " ";
} else if ((i-1)*7+j<=thisMonthDay+oneWeek ){
var result=(start++).addZero();
dayHTML+=" "+result+ " ";
} else {
var result=(end++).addZero();
dayHTML +=" "+result+ " ";
}
}
}
if (i>0){
$calTable.append(""+dayHTML+ " " );
}
}
Calendar.tableStyle();
},
tableStyle:function (){
var $center = $calendar.find( ".cal_center" ),
$calTable = $calendar.find("table" ),
tdWidth = parseFloat($center.width())/7;
$calTable.find("td" ).css({ "width" :tdWidth, "text-align" : "center" ,
"color" : "#AFAFAF" ,
"background" :settings.thisMonthBgColor, "cursor" : "pointer" ,
"color" :settings.thisMonthFontColor,
"border-top" :settings.tableBorder,
"border-right" :settings.tableBorder});
$calTable.find(".week_head td" )
.css({"background" :settings.weekBgColor,
"cursor" : "auto" , "border" : "0" ,
"color" :settings.weekFontColor
});
$calTable.find(".pre_month_day,.next_month_day" )
.css({"color" :settings.noThisMonthFontColor, "background" : "transparent" });
$calTable.find("td:nth-child(7n)" ).css({ "border-right" :0});
$calTable.find("td" ).outerHeight(lineHeight);
$calTable.find("tr[class!=week_head] td" ).hover( function (){
$(this ).css({ "background" :settings.dateHoverBgColor,
"color" :settings.dateHoverFontColor
});
},function (){
$(this ).css({ "background" :settings.thisMonthBgColor});
if ($( this ).hasClass( "this_month_day" )) {
$(this ).css({ "color" :settings.thisMonthFontColor});
} else {
$(this ).css({ "color" :settings.noThisMonthFontColor});
}
}).click(function (){Calendar.dateChoose($( this ));});
}
};
return this .each( function (){
$target.click(function (){
current = $(this );
if ($( "." +settings.className).length == 0) {
Calendar.loadCalendar();
}
});
$(document).click(function (event){
var $calendar = $( "." +settings.className)
if (!$target.triggerTarget(event) && !$calendar.triggerTarget(event)) {
Calendar.destory();
}
});
});
},
arrow:function (options){
var defaultOptions = {
color:'#AFAFAF' ,
height:20,
width:20,
direction:'top'
};
var settings = jQuery.extend(defaultOptions,options||{}),
current = $(this );
function loadStyle(){
current.css({"display" : "block" , "width" : "0" , "height" : "0" });
if (settings.direction === "top" || settings.direction === "down" ) {
current.css({
"border-left-width" :settings.width/2,
"border-right-width" :settings.width/2,
"border-left-style" : "solid" ,
"border-right-style" : "solid" ,
"border-left-color" : "transparent" ,
"border-right-color" : "transparent"
});
if (settings.direction === "top" ) {
current.css({
"border-bottom-width" :settings.height,
"border-bottom-style" : "solid" ,
"border-bottom-color" :settings.color
});
} else {
current.css({
"border-top-width" :settings.height,
"border-top-style" : "solid" ,
"border-top-color" :settings.color
});
}
} else if (settings.direction === "left" || settings.direction === "right" ) {
current.css({
"border-top-width" :settings.height/2,
"border-bottom-width" :settings.height/2,
"border-top-style" : "solid" ,
"border-bottom-style" : "solid" ,
"border-top-color" : "transparent" ,
"border-bottom-color" : "transparent"
});
if (settings.direction === "left" ) {
current.css({
"border-right-width" :settings.width,
"border-right-style" : "solid" ,
"border-right-color" :settings.color
});
} else {
current.css({
"border-left-width" :settings.width,
"border-left-style" : "solid" ,
"border-left-color" :settings.color
});
}
}
}
return this .each( function (){ loadStyle(); });
},
triggerTarget:function (event){
return $( this ).is(event.target) || $( this ).has(event.target).length > 0;
},
skin:function (){
}
});
})(jQuery);
你可能感兴趣的:(JS/HTML)
移动端城市区县二级联动选择功能实现包
good2know
本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery
SpringMVC的执行流程
1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,
EasyPlayer播放器系列开发计划2025
xiejiashu
EasyPlayer EasyPlayer EasyPlayer播放器 RTSP播放器 js播放器 Web播放器
EasyPlayer系列产品发展至今,已经超过10年,从最早的EasyPlayerRTSP播放器,到如今维护的3条线:EasyPlayer-RTSP播放器:Windows、Android、iOS;EasyPlayerPro播放器:Windows、Android、iOS;EasyPlayer.js播放器:H5;这3个播放器各有各的应用场景,用户量也是巨大,像RTSP版本的播放器,到今天依然还有很多低
js操作样式
郝加升
DOM样式属性和方法:指定的元素,它的style有这么几个属性和方法:cssText:通过这个属性可以访问到元素的特性style设置的属性,并且可以直接赋值设置。removeProperty(属性名称):从样式中删除给定属性。setProperty(属性名称,值,权重):可以通过这个方法设置给定样式的同时设置其权重,可以传入”important”或者一个空字符串。获取计算后样式:window.ge
Selenium 特殊控件操作与 ActionChains 实践详解
小馋喵知识杂货铺
selenium 测试工具
1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个
深入理解 Tomcat Wrapper 原理
北漂老男人
Tomcat tomcat java
深入理解TomcatWrapper原理一、引言在Tomcat的分层容器架构中,Wrapper作为最底层的容器,专门负责管理单个Servlet的生命周期及请求分发。每一个Servlet(包括JSP、Filter等)都对应一个Wrapper。Wrapper是Servlet规范与Tomcat容器实现之间的桥梁,直接关系到请求的分发效率、Servlet的加载与重用、安全隔离等。本文将系统剖析Wrapper
微信公众号回调java_处理微信公众号消息回调
weixin_39607620
微信公众号回调java
1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.
人工智能应用研究快讯 2021-11-30
峰谷皆平
[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin
【Jupyter】个人开发常见命令
TIM老师
# Pycharm & VSCode python Jupyter
1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju
用代码生成艺术字:设计个性化海报的秘密
本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准
前端面试每日 3+1 —— 第39天
浪子神剑
今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss
selenium 特殊场景处理
文章目录前言一、windows的弹窗二、内嵌网页frame三、页签切换四、截图五、弹窗六、JS执行总结前言selenium处理web操作师,有很多特殊的情况需要处理,例如弹窗、内嵌网页,页签切换,js执行等,下面介绍一些可能会遇到的特殊场景一、windows的弹窗importwin32com.client'''创建了一个WScript.ShellCOM(ComponentObjectModel)对
GDP经济社会人文民生栅格数据下载网站汇总
疯狂学习GIS
本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文
【MySQL】MySQL数据库如何改名
武昌库里写JAVA
面试题汇总与解析 spring boot vue.js sql java 学习
MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://
大学社团管理系统(11831)
codercode2022
java spring boot spring echarts spring cloud sentinel java-rocketmq
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项目截图有需要的同学,源代码和配套文档领取,加文章最下方的名片哦!
二级域名分发网站源码 商业版全开源
lskelasi
程序源码 二级域名分发源码 二级域名分发网站源码 源码
介绍:快乐二级域名分发-快乐二级域名分发源码主要是二级域名分发网站源码,不懂的不要下载了。本套源码可设置收费使用,有充值接口,域名接口配置自己研究吧网盘下载地址:https://zijiewangpan.com/jsX0JAuRE01图片:
2021-01-19
长孙俊明
curl-H"Content-Type:application/json"-XPUT127.0.0.1:9200/_all/_settings-d'{"index.max_result_window":"5000000"}'
VUE 座位图功能+扩展
NUZGNAW
vue.js javascript 前端
1、通过循环画出页面座位图0"style="display:table;margin:0auto;min-height:472px;position:relative;">{{i.sign}}2、画出右下角的预览图3、编写对应js方法watch:{seatList:{handler(newVal,oldVal){if(this.seatList&&!stringBlank(this.seatLis
为什么学习Web前端一定要掌握JavaScript?
web前端学习指南
为什么学习Web前端一定要掌握JavaScript?在前端的世界里,没有什么是JavaScript实现不了的,关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用JavaScript写前端的开发人员。
响应式编程实践:Spring Boot WebFlux构建高性能非阻塞服务
fanxbl957
Web spring boot 后端 java
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人响应式编程实践:SpringBootWebFlux构建高性能非阻塞服务一、引言在当今数字化时代,互
移动端适配rem方案
简单的码农
1.rem+动态html的font-size1.rem单位是相对于html元素的font-size来设置的,那么如果我们需要在不同的屏幕下有不同的尺寸,可以动态的修改html的font-size尺寸。2.比如如下案例:设置一个盒子的宽度是2rem;设置不同的屏幕上html的font-size不同;image这样在开发中,我们只需要考虑两个问题:问题一:针对不同的屏幕,设置html不同的font-s
Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录
二倍速播放
前端 vue.js
1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非
redis反弹shell时kali无法接收回弹的解决方法
显哥无敌
shell redis
无法接受回谈大概率是bash命令写的不对,那个crontab中间的星号个数是有意义的,不是随便加的,下面贴一下crontab的基本用法https://www.cnblogs.com/zhoading/p/11572630.html{minute}{hour}{day-of-month}{month}{day-of-week}{full-path-to-shell-script}如果是要cronta
vue项目
阿什么名字不会重复呢
vue.js 前端 javascript
vue进行配置创建vue项目vuecreateone//one就是项目名字npmielement-ui--Snpmiaxios--savenpmiecharts--save配置main.jsimportVuefrom'vue'importAppfrom'./App.vue'importrouterfrom'./router'importstorefrom'./store'importElement
native.js设置可缩放的webview并隐藏缩放控件
Nanayai
需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala
自定义参数解析器HandlerMethodArgumentResolver,重新定义@ResponseBody的请求方式
chanyi
1、解决的问题加了@ResponseBody注解的方法,请求的方式是post的json格式,但如果我们也要通过post的application/x-www-form-urlencoded格式访问此接口。在不改变此接口的情况下。通过修改参数解析器HandlerMethodArgumentResovler来兼容两种请求方法。2、思路根据不同的content-type使用不同参数解析处理器。Conten
Redis反弹Shell
波吉爱睡觉
web安全 #未授权访问漏洞 #SSRF redis 网络安全 web安全
这里我来总结几种Redis反弹Shell的方法一、利用Redis写WebShell前提条件开了web服务器,并且知道路径,还需要有文件读写增删改查的权限条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。语句:redis:6379>configsetdir/var/www/html/redis:6379>configsetdbfilenameshell
python中的 JWT
weixin_34355881
python json php
Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。基
Windows下Oracle安装图解
叫我老村长
Windows下Oracle安装图解----oracle-win-64-11g详细安装步骤一、Oracle下载官方下地址http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlwin32位操作系统下载地址:http://download.oracle.com/otn/nt/oracle11g
【Python】PyJWT:轻松实现 JSON Web Token (JWT) 网络令牌的生成与验证
@Unity打怪升级
Python python json 网络 开发语言 前端 pip ipython
PyJWT是一个用Python实现的轻量级库,用于处理JSONWebToken(JWT)。JWT是一种安全的方式,用来表示双方之间经过签名的令牌,通常用于认证和授权场景。PyJWT简化了JWT的生成和验证过程,使得开发者能够轻松地在Python项目中集成JWT功能。在这篇博客中,我们将深入介绍PyJWT,展示如何生成、解码和验证JWT令牌,并且会通过代码示例演示如何在实际项目中使用PyJWT进行认
二分查找排序算法
周凡杨
java 二分查找 排序 算法 折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
java中的BigDecimal
bijian1013
java BigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
Shell echo命令详解
daizj
echo shell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
多线程监听器事件模式(一个简单的例子)
百合不是茶
线程 监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
spring InitializingBean接口
bijian1013
java spring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle 数据库 权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
Spring源码学习-JdbcTemplate queryForObject
bylijinnan
java spring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
[冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
js 获取浏览器型号
cuityang
js 浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
C# socks5详解 转
dalan_123
socket C#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
Yii防注入攻击笔记
dcj3sjt126com
sql WEB安全 yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
MongoDB简介[一]
eksliang
mongodb MongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
zookeeper windows 入门安装和测试
greemranqq
zookeeper 安装 分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
jdk与jre的区别(_)
macroli
java jvm jdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境 每天进步一点点 众观千象 git
$ git push joe prod-2295-1
To
[email protected] :joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
[一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hive hive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。