Javascript 简单角度幻灯片:无法在输入类型=”上触发单击事件;电台;

Javascript 简单角度幻灯片:无法在输入类型=”上触发单击事件;电台;,javascript,angularjs,foreach,setinterval,ng-repeat,Javascript,Angularjs,Foreach,Setinterval,Ng Repeat,所以我可以用不到十行的代码用其他方法来做,但我只想要角度的方法。欢迎提出任何建议和方法 我有一些图像和一组单选输入按钮,用于控制,如下所示: CSS: HTML: 我返回>>>无法读取未定义的属性“triggerHandler”您正在每秒遍历所有幻灯片控件。您可能希望每秒循环一次每个滑动控件。这可能是您想要做的: var counter = 0; var sliderOn = $interval(function() { var tar = angular.element('#slide

所以我可以用不到十行的代码用其他方法来做,但我只想要角度的方法。欢迎提出任何建议和方法

我有一些图像和一组单选输入按钮,用于控制,如下所示:

CSS:

HTML:


我返回>>>无法读取未定义的属性“triggerHandler”

您正在每秒遍历所有幻灯片控件。您可能希望每秒循环一次每个滑动控件。这可能是您想要做的:

var counter = 0;
var sliderOn = $interval(function() {
    var tar = angular.element('#slideControls');
    counter = (counter < tar.children.length) ? counter+1 : 0;          
    console.log(tar.children[counter]);
    // Click code goes here I suppose
}, 1000);
var计数器=0;
var sliderOn=$interval(函数(){
var tar=angular.element(“#slidecontrolls”);
计数器=(计数器
当您可以手动调用幻灯片放映时,不需要触发单击。除非控制器只被调用一次,否则我不会将幻灯片和时间间隔放在里面。请在下面成功发布一个解决方案,如果它有意义,我将根据您的输入对其进行修改,但仍然没有达到目标。请参见上面的编辑您的“幻灯片放映”函数不返回任何内容,因此它返回未定义的内容,而您不能返回未定义的内容。triggerhandlerconsole.log返回未定义的内容根据您的反馈进行一些调整,但仍然没有达到目标。请参见上面的编辑
<section class="slideshow" ng-controller="sliderCtrl">
    <div ng-repeat="slide in slides | orderObjectBy:'sort'" sort-order="{{slide.sort}}" class="slide" ng-class="{ 'showSlide': $index == selectedIndex }"><img ng-src="{{slide.src}}" alt="{{slide.alt}}" /></div>
    <aside id="slideControls" ng-model="slides.input">
        <input ng-repeat="slide in slides | orderObjectBy:'sort'" name="{{slide.alt}}" class="slideCtrl"  type="radio" ng-click="slideShow($index)" />
    </aside>
</section>
app.controller('sliderCtrl', function ($scope, $http, $element, $interval) {
    $http.get('data/slides.json')
    .success(function(data, status, headers, config) {
        $scope.slides = data;
        $scope.selectedIndex = 0;
        $scope.slideShow = function ($index) {
            console.log($index);
            $scope.selectedIndex = $index;
        }
        var theShow;
        $scope.$watch("slides.input", function(value) {
            var i = 1,
                iMax = $element.children(0).children('.slideCtrl').length - 1,
                elements = $element.children(0).children('.slideCtrl');
            theShow = $interval(function() {
                $scope.slideShow(i);
                if (i<iMax) i++;
                else i = 0; 
            }, 3000);   
        }); 
    })
    .error(function(data, status, headers, config) {
        console.log(data+', '+status+', '+headers+', '+config);
    });
});
$scope.slideShow(i).triggerhandler('click');
var counter = 0;
var sliderOn = $interval(function() {
    var tar = angular.element('#slideControls');
    counter = (counter < tar.children.length) ? counter+1 : 0;          
    console.log(tar.children[counter]);
    // Click code goes here I suppose
}, 1000);