Javascript 滑动字幕。将小部件div放置在标题中。根据图像大小调整大小

Javascript 滑动字幕。将小部件div放置在标题中。根据图像大小调整大小,javascript,html,css,Javascript,Html,Css,我想拍一张有两个标题的图片。一个从顶部向下滑动,一个从底部向上滑动。我想得到它们相对于图像的大小(因此动态地改变图像的大小),并且每个都覆盖了图像的25% 目前,我有一个从左上滑到顶部,但我需要它从顶部滑下,底部的一个也从左侧滑下,但我需要它从底部滑下 这是小提琴: 回顾图像系统 布鲁布 投票数据 //补充的第一件事 $(文档).ready(函数(){ $('.rate_widget')。每个(函数(i){ var-widget=this; var out_数据={ widget_id:$

我想拍一张有两个标题的图片。一个从顶部向下滑动,一个从底部向上滑动。我想得到它们相对于图像的大小(因此动态地改变图像的大小),并且每个都覆盖了图像的25%

目前,我有一个从左上滑到顶部,但我需要它从顶部滑下,底部的一个也从左侧滑下,但我需要它从底部滑下

这是小提琴:


回顾图像系统
布鲁布

投票数据
//补充的第一件事 $(文档).ready(函数(){ $('.rate_widget')。每个(函数(i){ var-widget=this; var out_数据={ widget_id:$(widget.attr('id'), 取回:1 }; 美元邮政({ url:'ratings.php', 数据:输出数据, 成功:功能(信息){ $(小部件).data('fsr',INFO); 设置投票(小部件); }, 数据类型:'json' }); }); $('.ratings_stars')。悬停( //手柄鼠标盖 函数(){ $(this.prevAll().andSelf().addClass('ratings_over'); $(this.nextAll().removeClass('ratings_vote'); }, //处理鼠尾 函数(){ $(this.prevAll().andSelf().removeClass('ratings_over'); //无法使用“this”,因为它不包含更新的数据 set_投票($(this.parent()); } ); //记录投票 $('.ratings_stars').bind('click',function(){ var star=这个; var小部件=$(this.parent(); var\u数据={ 单击:$(星形).attr('class'), widget_id:$(星形).parent().attr('id')) }; 美元邮政( { url:'ratings.php', 数据:单击“数据”, 成功:功能(信息){ widget.data('fsr',INFO); 设置投票(小部件); }, 数据类型:'json' }); }); 功能集投票(小部件){ var avg=$(小部件).data('fsr').whole_avg; var票数=$(小部件).data('fsr')。票数; 变量精确=$(小部件).data('fsr').dec_avg; window.console&&console.log('现在在set_投票中,它认为fsr是'+$(widget).data('fsr').number_投票); $(小部件).find('.star_u'+avg.prevAll().andSelf().addClass('ratings_vote'); $(widget.find('.star_u'+avg.nextAll().removeClass('ratings_vote'); $(小部件)。查找('.total_voces')。文本(记录的票数+'票数('+exact+'rating')); } });

如需更改幻灯片,您需要更改css转换,请参阅

我测试了删除元素“.container”的宽度和高度属性。我认为加载的图像将根据需要增加容器


@威廉·杜阿尔特,太棒了,谢谢你!我怎样才能将标题和容器动态地缩放到我所使用的任何图像?这正是我所要寻找的,而不是在中间达到的。我希望它们能够缩放到每一个图像的25%,并在顶部字幕中缩放到标题的50%,并被放置在左上角。谢谢你的帮助:)@williamduarte。我的意思是把评论部分放在顶部标题的上角,每个标题占25%,我的意思是每个标题占所用图像的25%。对不起,我想我应该澄清一下。再次感谢!!事实上,很抱歉您调整了图像以增加容器,所以我现在需要的是一种让review小部件位于标题左上角的方法。再次感谢:)@Dottsie您能发送一个关于jsfiddler的示例吗?
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
    <title>review image system</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
    <script src="modernizr.custom.js"></script>
    <script src="jquery.js"></script>
    <script src="newjavascript.js"></script>
    <script src="toucheffects.js"></script>
</head>

<body>
<div class="wrapper">

    <header>
        <h1 class="main_head">blub</h1>

    </header>
    <hr />

        <div class="container left">

            <img src="http://placehold.it/350x150" alt="image" />
            <article class="text css3-4">
                    <h1><a href="#" class="css3-4">space1</a></h1>
            </article>
            <article class="text css3-3 css3-4">
                    <h1><a href="#" class="css3-3 css3-4">space2</a>    </h1>
                    <span><div class='movie_choice'>
                                                            <div id="r1" class="rate_widget">
                                                           <div class="star_1 ratings_stars"></div>
                                                            <div class="star_2 ratings_stars"></div>
                                                            <div class="star_3 ratings_stars"></div>
                                                            <div class="star_4 ratings_stars"></div>
                                                             <div class="star_5 ratings_stars"></div>
                                                             <div class="total_votes">vote data</div>
                                                              </div>
                                                              </div>
                                                    </span>
            </article>
        </div>

    <hr />

    </div>  

    <script>


// first thing added 
$(document).ready(function() {

    $('.rate_widget').each(function(i) {
        var widget = this;
        var out_data = {
            widget_id : $(widget).attr('id'),
            fetch: 1
        };
        $.post({
            url:'ratings.php',
            data: out_data,
            success:function(INFO) {
                $(widget).data( 'fsr', INFO );
                set_votes(widget);
            },
            dataType:'json'
        });
    });


    $('.ratings_stars').hover(
        // Handles  mouseover
        function() {
            $(this).prevAll().andSelf().addClass('ratings_over');
            $(this).nextAll().removeClass('ratings_vote'); 
        },
        // Handles mouseout
        function() {
            $(this).prevAll().andSelf().removeClass('ratings_over');
            // can't use 'this' because it wont contain the updated data
            set_votes($(this).parent());
        }
    );


    //  records the vote
    $('.ratings_stars').bind('click', function() {
        var star = this;
        var widget = $(this).parent();

        var clicked_data = {
            clicked_on : $(star).attr('class'),
            widget_id : $(star).parent().attr('id')
        };
        $.post(
                {
            url:'ratings.php',
           data: clicked_data,
            success:function(INFO) {
                widget.data( 'fsr', INFO );
                set_votes(widget);
            },
            dataType:'json'
    });



});

function set_votes(widget) {

    var avg = $(widget).data('fsr').whole_avg;
    var votes = $(widget).data('fsr').number_votes;
    var exact = $(widget).data('fsr').dec_avg;

    window.console && console.log('and now in set_votes, it thinks the fsr is ' + $(widget).data('fsr').number_votes);

    $(widget).find('.star_' + avg).prevAll().andSelf().addClass('ratings_vote');
    $(widget).find('.star_' + avg).nextAll().removeClass('ratings_vote'); 
    $(widget).find('.total_votes').text( votes + ' votes recorded (' + exact + ' rating)' );
}

});
</script>
article.css3-3
{
    top:-80px;
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    transition: all .5s ease-out;
    width:400px;
}

.container:hover article.css3-3 {
    top:0;
}

...

article.css3-4
{
    bottom:-80px;
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    transition: all .5s ease-out;
    width:400px;
}

.container:hover article.css3-4{
    bottom:0;
}
.container {
    ...
    /*height: 200px;*/
    ...
}

.container2 {
    ...
    /*height: 200px;*/
    ...
}