gpt4 book ai didi

javascript - 切换类以选择带 Angular 报价

转载 作者:行者123 更新时间:2023-12-03 09:46:45 24 4
gpt4 key购买 nike

我尝试做一些事情并尝试弄清楚。我只想向单击的 div 添加一个类。如果单击 div 号 1,然后单击 div 号 2,则该类将从 div1 中删除并添加到 div2 中。希望您能理解。

这是一个codepen说明我的问题

HTML

<div class="container" ng-app="AboApp">
<h3>NOS ABONNEMENTS</h3>
<div class="row db-padding-btm db-attached" ng-controller="AboCtrl">
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4" ng-repeat="abos in abo">
<div class="db-wrapper" ng-click="zone()">
<div class="db-pricing-eleven db-bk-color-two" select-me="areaStatus">
<div ng-class="{'price' : !areaStatus, 'price pop' : areaStatus}">
{{abos.tarif}}<sup>€</sup>
<small>par mois</small>
</div>
<div class="type">
{{abos.nom}}
</div>
<ul>
<li><i class="icon-ok"></i>{{abos.communication}}</li>
<li><i class="icon-ok"></i>{{abos.vers}}</li>
<li><i class="icon-ok"></i>{{abos.zone}}</li>
</ul>
<div class="pricing-footer" ng-show="areaStatus">
<a href="#" class="btn db-button-color-square btn-lg">VALIDER</a>
</div>
</div>
</div>

JS

var app = angular.module("AboApp", []);

app.controller("AboCtrl", function($scope) {
$scope.abo = [
{
"id": 1,
"nom": "BAS PRIX",
"tarif": "2.49",
"communication": "2h de communication",
"vers": "vers fixes et mobiles",
"zone": "zone nationale"
},
{
"id": 2,
"nom": "NATIONAL",
"tarif": "9.99",
"communication": "t\u00e9l\u00e9phonie et SMS illimit\u00e9s",
"vers": "vers fixes et mobiles",
"zone": "zone nationale"
},
{
"id": 3,
"nom": "EURO",
"tarif": "19.99",
"communication": "t\u00e9l\u00e9phonie et SMS illimit\u00e9s",
"vers": "vers fixes et mobiles",
"zone": "zone EURO"
}
];

$scope.areaStatus = false;
$scope.zone = function() {
$scope.areaStatus = !$scope.areaStatus;
}
});
app.directive("selectMe", function($animate) {
return function(scope, element, attrs) {
scope.$watch(attrs.selectMe, function(newVal) {
if (newVal) {
$animate.addClass(element, "popular")
} else {
$animate.removeClass(element, "popular")
}
})
}
});

app.controller("OptionsCtrl", function($scope, $http) {
$http.get('http://local.tel4g/options.json').
success(function(data) {
$scope.options = data['data'];
});
$scope.areaStatus = false;
});

app.controller("PhonesCtrl", function($scope, $http) {
$http.get('http://local.tel4g/phones.json').
success(function(data) {
$scope.phones = data['data'];
});
$scope.areaStatus = false;
});

最佳答案

这就是我所做的,可能足够接近你想要做的事情,它有简单的js和css

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<div class="inner" onclick="functionName(event,this)">a</div>
<div class="inner" onclick="functionName(event,this)">b</div>
<div class="inner" onclick="functionName(event,this)">c</div>
<div class="inner" onclick="functionName(event,this)">d</div>
<div class="inner" onclick="functionName(event,this)">e</div>
</body>
<script type="text/javascript">
function functionName(event, $this) {
event.preventDefault();
if ($($this)[0].className == "inner outer") {
$($this)[0].className = "inner"
} else {
$($this)[0].className = "inner outer"
}
for (var i = 0; i < $('.inner').length; i++) {
if ($('.inner')[i] != $($this)[0]) {
$('.inner')[i].className = "inner";
};
}
}
</script>
<style type="text/css">
.inner.outer{
background: red;
}
.inner{
background: yellow;
}
</style>
</html>

关于javascript - 切换类以选择带 Angular 报价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com