开发者

Writing a JavaScript function to open an image in (css)pop up with a close button?

I am a new HTML developer, so can someone please 开发者_运维问答describe briefly how to write a JavaScript function to open an image in (css) pop up with a close button?


Just to get you started I've set up an simple example for you, try it out here: http://www.lunarailways.com/demos/popup.html

<html>
    <head>
        <style>
        #popup {
            border: 1px solid gray;
            border-radius: 5px 5px 5px 5px;
            float: left;
            left: 50%;
            margin: auto;
            position: fixed;
            top: 200px;
            z-index: 9999;
        }
        </style>
    </head>
    <body>
        <h1>Your page</h1>
        <a href="http://dummyimage.com/200x200" class="popup-open">Open Image 1</a>
        <a href="http://dummyimage.com/199x199" class="popup-open">Open Image 2</a>
        <a href="http://dummyimage.com/198x198" class="popup-open">Open Image 3</a>


        <div id="popup" style="display:none">
            <a id="popup-close" href="" class="button">Close</a>
            <p>
                <img id="image-placeholder" src="">
            </p>
        </div>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>

        <script type="text/javascript">
            $(document).ready( function() {
                $(".popup-open").click( function(e) {
                    $("#popup:visible").hide(); //hide popup if it is open
                    e.preventDefault(); // don't follow link
                    $("#image-placeholder").attr("src", $(this).attr("href")); // replace image src with href from the link that was clicked
                    $("#popup").fadeIn("fast"); //show popup
                });
                $("#popup-close").click( function(e) {
                    e.preventDefault();
                    $("#popup").fadeOut("fast");
                });
            });
        </script>
    </body>
</html>


FanyBox, which is uses the jQuery library is the right tool for that.


In a simple way,

- place anchor and image tags in a div container. 
- set display attribute of the div to "none".
- create displayMyPopup and closeMyPopup functions in js.
- set anchor's onclick attribute to closeMyPopup.
- in displayMyPopup function, set the div's display attribute to "block"
- in closeMyPopup function, set the div's display attribute to "none"

or you can use jquery's show/hide functions.


I guess jQuery library is a good start. Start with defining your HTML markup and then google image galleries and see what fits your bill.

Something like this:

<ul class="gallery">
<li><a href="path-large-image"><img src="path-small-image" alt="thumbnail" /></a></li>
</ul>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜