Angularjs 如何在Ionic中获得div的高度
我正在使用Ionic开发一个移动应用程序 首先介绍一下我想要实现的目标。 我正在编写一个具有挑战性的设计。我将固定高度的图像放置在具有灵活高度的div的右下角。然后,div中的文本需要环绕图像 像这样: 事物的HTML和CSS方面 我已经使用了CSS和HTML(至少我认为是这样!)。HTML是:Angularjs 如何在Ionic中获得div的高度,angularjs,ionic-framework,Angularjs,Ionic Framework,我正在使用Ionic开发一个移动应用程序 首先介绍一下我想要实现的目标。 我正在编写一个具有挑战性的设计。我将固定高度的图像放置在具有灵活高度的div的右下角。然后,div中的文本需要环绕图像 像这样: 事物的HTML和CSS方面 我已经使用了CSS和HTML(至少我认为是这样!)。HTML是: //this line is in the head <style ng-bind-html="myStyles"></style> //the re
//this line is in the head
<style ng-bind-html="myStyles"></style>
//the rest is in the body of the HTML
<div class="score_block">
<div class="description">
<div class="image_container">
<img src="img/emotional_man.png">
</div>
<p>{{area.levelling.description}}</p>
<div class="habits_button">
<button ng-click="$state.go('app.planner')" class="button button-stable button-icon button-block">Plan habits</button>
</div>
</div>
</div>
如果我更改“score_block:before”类的高度,我可以根据需要重新定位图像
到目前为止的Javascript
因此,在Javascript方面,我希望如果我能够计算出.description div的高度,我可以从中减去图像的高度,并告诉CSS如何定位图像。我需要一些AngularJ来做这件事——我想这就是我需要的,因为据我所知,JQuery在Ionic中不起作用
到目前为止,我有JS代码可以做到这一点:
.controller('emotionalCtrl', function ($scope, $state, AreasService, _) {
//these commented out lines are to show things I have tried but don't work
//var blockH = $(".description").height();
//var descriptionHeight = angular.element('description');
//var number = descriptionHeight('offsetHeight');
var number = 0;
$scope.myStyles = "#habit_area_homepage .score_block:before { height:" + number + "px; }";
})
我想计算一下这个变量,然后把它传回去。我可以手动更改number的值,因为它工作正常,所以我知道其他一切都很好。我读过一些关于做指令等的东西,但我看到的所有例子都让我困惑。也许我需要在这里放一个指令或其他东西来帮助我获得.description元素的高度,但我就是不知道怎么做。我花了将近两天的时间才走到这一步
我是AngularJS和Ionic的新手,因此非常感谢您的帮助。谢谢 实现动态样式有多种方法 根据您提供的代码。我建议您在头部添加样式 在控制器中运行以下代码或“运行”:
var element = document.querySelector(".description");
console.log(element.offsetHeight);
实现动态样式有多种方法 根据您提供的代码。我建议您在头部添加样式 在控制器中运行以下代码或“运行”:
var element = document.querySelector(".description");
console.log(element.offsetHeight);
谢谢你的评论,但这对我的问题没有帮助。我已经有了所有的代码来动态地改变样式——我知道如何让它工作。我想要帮助的是如何使用angularjs获得div的高度。非常感谢。第一个选项适用于我,只要我记得将$window注入控制器!谢谢你的评论,但这对我的问题没有帮助。我已经有了所有的代码来动态地改变样式——我知道如何让它工作。我想要帮助的是如何使用angularjs获得div的高度。非常感谢。第一个选项适用于我,只要我记得将$window注入控制器!
var element = document.getElementById("id");
console.log(element.offsetHeight);
var element = document.querySelector(".description");
console.log(element.offsetHeight);