zoukankan      html  css  js  c++  java
  • 仿澵浪微博图片放大缩小以及向左向右转(附DEMO)

    感觉没有什么好说的,而且代码也比较简单,水文一篇来祝贺咱创了个贴码党。

    效果图片:

    点击向左转时的效果

    点击图时放大的效果

    <head runat="server">
        <title>图片向左向右转</title>
        <link href="Content/Style/Index.css" rel="stylesheet" type="text/css" />
        <%--本段JS主要是实现图片的向左向右转--%>
    
        <script type="text/javascript">
            function rotate(img, turn) {
                var $img = document.getElementById(img);
                if (!$img || !turn) {
                    return false;
                }
                var $n = $img.getAttribute('step');
                if ($n == null) {
                    $n = 0;
                }
                if (turn == "right") {
                    ($n == 3) ? $n = 0 : $n++;
                } else if (turn == "left") {
                    ($n == 0) ? $n = 3 : $n--;
                }
                $img.setAttribute("step", $n);
                //MSIE
                if (document.all) {
                    $img.style.filter = "progid:DXImageTransform.Microsoft.BasicImage(rotation=" + $n + ")";
                    //HACK FOR MSIE8
                    switch ($n) {
                        case 0:
                            $img.parentNode.style.height = $img.height;
                            break;
                        case 1:
                            $img.parentNode.style.height = $img.width;
                            break;
                        case 2:
                            $img.parentNode.style.height = $img.height;
                            break;
                        case 3:
                            $img.parentNode.style.height = $img.width;
                            break;
                    } //end switch
                    //DOM
                } else {
                    var c = document.getElementById("canvas_" + img);
                    if (c == null) {
                        $img.style.visibility = "hidden";
                        $img.style.position = "absolute";
                        c = document.createElement("canvas");
                        c.setAttribute("id", "canvas_" + img);
                        $img.parentNode.appendChild(c);
                    }
                    var canvasContext = c.getContext("2d");
                    switch ($n) {
                        default:
                        case 0:
                            c.setAttribute("width", $img.width);
                            c.setAttribute("height", $img.height);
                            canvasContext.rotate(0 * Math.PI / 180);
                            canvasContext.drawImage($img, 0, 0);
                            break;
                        case 1:
                            c.setAttribute("width", $img.height);
                            c.setAttribute("height", $img.width);
                            canvasContext.rotate(90 * Math.PI / 180);
                            canvasContext.drawImage($img, 0, -$img.height);
                            break;
                        case 2:
                            c.setAttribute('width', $img.width);
                            c.setAttribute('height', $img.height);
                            canvasContext.rotate(180 * Math.PI / 180);
                            canvasContext.drawImage($img, -$img.width, -$img.height);
                            break;
                        case 3:
                            c.setAttribute('width', $img.height);
                            c.setAttribute('height', $img.width);
                            canvasContext.rotate(270 * Math.PI / 180);
                            canvasContext.drawImage($img, -$img.width, 0);
                            break;
                    }
                }
            }
        </script>
    
        <%--//本段JS主要是实现图片的放大以及缩小--%>
        <script language="JavaScript" type="text/javascript">
            cur = 1; //定义全局变量
            function BigOrSmall(cursor_zoom) {
                var $cursor_zoom = document.getElementById(cursor_zoom);
                cur = cur * (-1);
                if (cur == 1) {
                    $cursor_zoom.height = "100";
                    $cursor_zoom.style.cursor = "url('Content/Images/big.cur'), auto";
                } else {
                $cursor_zoom.height = "300";
                $cursor_zoom.style.cursor = "url('Content/Images/small.cur'), auto";
                }
            } 
        </script>
    
    </head>
    <body>
        <div>
            <a id="turn_left" href="javascript:void(0)" onclick="rotate('cursor_zoom','left');">
                向左转</a> <a id="turn_right" href="javascript:void(0)" onclick="rotate('cursor_zoom','right');">
                    向右转</a>
        </div>
        <br />
        <div>
            <img id="cursor_zoom" style="cursor: url('Content/Images/big.cur'),auto;" height="100px"
                src="Content/Images/12.jpg" name="cursor_zoom" onclick="BigOrSmall('cursor_zoom');"
                alt="李小龙" />
        </div>
    </body>

    以下是样式:

    a
    {
        text-decoration: none;
        font-size: 12px;
        color: #D459AA;
    }
    #turn_left
    {
        background-image: url("http://www.cnblogs.com/Content/Images/ico.png");
        background-repeat: no-repeat;
        padding: 0 0 0 12px;
        background-position: 0 -937px;
    }
    #turn_right
    {
        background-image: url("http://www.cnblogs.com/Content/Images/ico.png");
        background-repeat: no-repeat;
        padding: 0 0 0 12px;
        background-position: 0 -966px;
    }

     如果没有看懂的,自己下载代码运行一篇吧。

    Code Down

    欢迎访问草根帮【https://www.caogenbang.top】 草根帮带你走向人生巅峰,迎娶白富美!!!
  • 相关阅读:
    C++ 模板特化
    左值引用,右值引用以及移动语义
    搜狐2016研发工程师编程题
    java配置环境变量与常用技巧
    java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)
    c++中的结构体:声明 定义 初始化
    用指针变量作函数形参接收数组地址,解决10个整数按由小到大顺序排序问题
    java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
    java在线聊天项目1.0版 异常处理——开启多个客户端,关闭一个客户端后,在其他客户端中再发出信息会出现异常的处理
    第十一次作业
  • 原文地址:https://www.cnblogs.com/koeltp/p/2651493.html
Copyright © 2011-2022 走看看