Home > php教程 > php手册 > 高仿喵喵折前端代码

高仿喵喵折前端代码

WBOY
Release: 2016-06-06 19:39:25
Original
1322 people have browsed it

主要用了Highchart图表插件+jquery 1、主要还存在一个问题提示框应该在最上方的。已解决 2、时间格式化问题。已解决 3、数据点是没有外面这一圈的。已解决 4、x轴最小单位和最大单位选中问题。未解决 jQuery Highcharts $(function () {mmz.init("mmz");})/*

主要用了Highchart图表插件+jquery
1、主要还存在一个问题   提示框应该在最上方的。 已解决
2、时间格式化问题。 已解决
3、数据点是没有外面这一圈的。 已解决
4、x轴最小单位和最大单位选中问题。 未解决

jQuery Highcharts

高仿喵喵折前端代码

$(function () {
	mmz.init("mmz");

})
/**
 *author 大灰狼 116311316@qq.com
 *v1.0
 */
var mmz = {
	lowPrice : '', //最低价
	topPrice : '', //最高价
	status : 0, //价格浮动状态 1上升 2下降 3平衡
	init : function (id) {
		mmz.sync(id);
	},
	//需要同步 获取type值和数据 php的时间戳是10位的js是13位的
	sync : function (id) {
		var xData = [1441555200, 1441468800, 1441382400, 1441296000, 1441209600];
		xData = mmz.getXdata(xData);
		var yData = [400, 500, 300, 600, 200];
		var c = new Array();
		xData = mmz.getXdata(xData);
		c = yData.concat();
		mmz.getPrice(yData); //计算最高价格和最低价格
		//载入页面
		for (var i = 0; i < c.length; i++) {
			c[i] = Math.round(c[i] * 10) / 10;
		}
		//和上一次波动的进行比较
		if (c[c.length - 1] - mmz.lowPrice < 0) {
			mmz.status = 4; //历史最低
		}

		var con = mmz.plugin();
		$("#" + id).after(con);
		$(".price_name").bind("mouseover", mmz.showChart);
		$(".price_chart").bind("mouseleave", mmz.hideChart);
		//设置图形参数

		mmz.setChart(xData, c);

	},
	getXdata : function (xData) {
		for (var i = 0; i < xData.length; i++) {
			xData[i] = xData[i] * 1000;
		}
		return xData;
	},
	getPrice : function (data) {
		//获取最大价格和最小价格 和价格状态
		var temp;
		var total = 0.00;
		var nowTotal = parseFloat(data[data.length - 1]) * data.length;
		var k = 0;
		for (var i = 0; i < data.length; i++) {
			for (var j = 0; j < data.length; j++) {

				if (data[i] < data[j] && k == 0) {
					mmz.status = 2;
					k++;
				} else if (data[i] > data[j] && k == 0) {
					mmz.status = 1;
					k++;
				}

				if (data[i] < data[j]) {
					temp = data[i];
					data[i] = data[j];
					data[j] = temp;
				}

			}

			total += parseFloat(data[i]);
		}

		mmz.lowPrice = data[0];
		mmz.topPrice = data[data.length - 1];
		total = Math.round(total * 10) / 10;
		nowTotal = Math.round(nowTotal * 10) / 10;

		if (total == nowTotal) {
			mmz.status = 3;
		}

	},
	/**
	 *type 上涨还是下跌
	 *topPrice 最高价格
	 *lowPrice 最低价格
	 */
	plugin : function () {
		var css;
		var remark;
		switch (mmz.status) {
		case 1:
			css = "price_up";
			remark = "价格上涨";
			break;
		case 2:
			css = "price_down";
			remark = "价格下降";
			break;
		case 3:
			css = "price_balance";
			remark = "价格平稳";
			break;
		case 4:
			css = "price_down";
			remark = "历史最低";
			break;
		}
		var con = '<div class="price_label"><div class="price_logo"></div><div class="price_name"><div class="' + css + '"></div>';
		con = con + '<span id="shuoming">' + remark + '</span></div></div><div class="price_chart"><div class="title-bar">价格趋势</div><div id="pricechart"></div>';
		con = con + '<div class="history">最高价  <br>¥ ' + mmz.topPrice + '<br><br><br><br><br><br>最低价<br>¥ ' + mmz.lowPrice + '</div>';
		return con;
	},

	showChart : function () {
		var x = $(".price_name").offset().left;
		var y = $(".price_name").offset().top;
		var h = $(".price_name").height();
		$(".price_chart").css({
			"left" : x,
			"top" : y + h
		});
		$(".price_chart").show();
	},

	hideChart : function () {
		$(".price_chart").hide();
	},

	setChart : function (xData, yData) {

		$('#pricechart').highcharts({
			title : {
				text : '',
			},

			chart : {
				spacingTop : 55,
				spacingRight : 50
			},

			colors : ['#ff6700'],

			xAxis : {
				minPadding : 0,
				reversed : true, //轴数据反转
				gridLineWidth : 1,
				min : 0,
				max : xData.length - 1,
				categories : xData,
				labels : {
					formatter : function () {
						var m = Highcharts.dateFormat('%m', this.value);
						if (m < 10) {
							m = m.substr(1, 1);
						}
						m = m + "-" + Highcharts.dateFormat('%d', this.value);
						return m;
					}
				}
			},

			yAxis : {
				title : {
					text : ''
				}
			},
			series : [{
					name : '价格',
					data : yData,
				}
			],
			plotOptions : {
				series : {
					animation : false,
					cropThreshold : 10,
					marker : {
						fillColor : '#FFF',
						lineColor : '#FFF',
						radius : 0,
						lineWidth : 0,
						states : {
							//鼠标移动至数据点所显示的样式
							hover : {
								fillColor : '#FFF', //数据点颜色值
								radius : 2, //点半径大小
							}

						}
					}

				},
				line : {
					states : {
						hover : {
							lineWidthPlus : 1,
							marker : {},
							halo : {
								size : 5,
								opacity : 1
							}
						}
					}

				}

			},
			tooltip : {
				backgroundColor : '#ff6700', // 背景颜色
				borderRadius : 0, // 边框圆角

				valueSuffix : '',
				animation : false,
				shadow : false, // 是否启用动画效
				style : { // 文字内容相关样式
					color : "#FFF",
					fontSize : "16px",
					fontWeight : "blod",
					fontFamily : "微软雅黑",
					cursor : "default",
					padding : "4px",
					whiteSpace : "nowrap",
				},
				crosshairs : [{ // 设置准星线样式
						width : 1,
						color : '#ccc'
					}
				],
				formatter : function () {
					return '<b>¥' + this.y +
					'</b><br><span style="font-size:10px">' + Highcharts.dateFormat('%Y-%m-%d', this.x) + '</span>';
				}

			},
			legend : {
				enabled : false
			},
			credits : {
				enabled : false // 禁用版权信息
			}
		});
	}

}
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template